如何在github登录页面上提取错误消息“不正确的用户名或密码”

我正在尝试为 github 登录页面上的错误消息获取 XPATH。( https://github.com/login )。但是我无法在 chrome 中获取此元素的 XPATH

我输入了不正确的凭据并看到“不正确的用户名或密码”之后:

  1. 我试图通过 chrome 复制 XPATH$x("//*[@id='js-flash-container']/div/div/text()")但它返回 (2) [text, text]

  2. $x("//div[contains(text(), 'Incorrect username or password.')]")但它什么也没返回

HTML:

<div class="flash flash-full flash-error">

  <div class="container">

    <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">

      <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"></path></svg>

    </button>


      Incorrect username or password.


  </div>

</div>

我需要一条错误消息。但我没有


private By error = By.xpath("//*[@id='js-flash-container']/div/div/text()");


蓝山帝景
浏览 116回答 3
3回答

慕盖茨4494581

它更容易使用cssSelector......String&nbsp;error&nbsp;=&nbsp;driver.findElement(By.cssSelector("div&nbsp;.flash")).getText().trim(); System.out.println(error);但是如果你想要 XPATH 使用:String&nbsp;error&nbsp;=&nbsp;driver.findElement(By.xpath('//div[@class="container"]')).getText().trim(); System.out.println(error);

慕容森

提取错误消息不正确的用户名或密码。在 github 登录页面上,https://github.com/login您需要为引入WebDriverWaitvisibilityOfElementLocated(),您可以使用以下任一定位器策略:cssSelector:System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div#js-flash-container div.container"))).getText());xpath:System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@id='js-flash-container']//div[@class='container']"))).getText());

回首忆惘然

在 firefox 中,我找到了那个元素并发现 xpath 是:/html/body/div[3]/main/div/form/div[2]/div/div我加载了 firefox selenium 并通过 xpath 找到了这个元素:WebElement error_msg = driver.findElement(By.xpath(ELEMENT_XPATH));然后获取我使用的文本:文本 error_msg_str = error_msg.getText();然后您可以将此字符串与“不正确的用户名或密码”进行比较。,如果这些匹配,则会引发错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java