如何根据提供的html构建xpath以单击注销链接

时间:2018-07-03 04:49:19

标签: java selenium selenium-webdriver xpath webdriver

我正在尝试单击注销链接,以使用Selenium xpath注销应用程序。该网页具有用户图像链接,单击该链接时,将显示“注销”链接的下拉列表。当我尝试找到Logout链接的xpath时,它不会走到任何地方。有什么想法吗?

这是该元素的页面来源。不知道这有什么想法。

<div data-v-5fa222fc="" class="user"><!----> <a data-v-5fa222fc="" class="user-menu">QA@some.com &nbsp; <img data-v-5fa222fc="" src="data:image/png;base64,iVBORw....uQmCC"></a></div>

2 个答案:

答案 0 :(得分:2)

根据您共享的 HTML ,单击用户图像,然后诱使 WebDriverwait 使下一个所需的元素可点击您可以使用以下任一解决方案:

  • partialLinkText

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.partialLinkText("QA@some.com"))).click();
    
  • cssSelector

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.user a.user-menu img[src*='data:image/png;base64,']"))).click();
    
  • xpath

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='user']//a[@class='user-menu']//img[contains(@src,'data:image/png')]"))).click();
    

答案 1 :(得分:1)

尝试使用此xpath:

//a[contains(., 'QA@some.com')]