Java 如何根据提供的html构造xpath以单击注销链接
我试图单击注销链接,使用SeleniumXPath注销应用程序。该网页具有用户图像链接,单击该链接时,将显示注销链接的下拉列表。当我试图找到注销链接的xpath时,它不会出现在任何地方。有什么想法吗 这是该元素的页面源代码。不知道这是否给了我们任何想法Java 如何根据提供的html构造xpath以单击注销链接,java,selenium,selenium-webdriver,xpath,webdriver,Java,Selenium,Selenium Webdriver,Xpath,Webdriver,我试图单击注销链接,使用SeleniumXPath注销应用程序。该网页具有用户图像链接,单击该链接时,将显示注销链接的下拉列表。当我试图找到注销链接的xpath时,它不会出现在任何地方。有什么想法吗 这是该元素的页面源代码。不知道这是否给了我们任何想法 <div data-v-5fa222fc="" class="user"><!----> <a data-v-5fa222fc="" class="user-menu">QA@some.com &nbs
<div data-v-5fa222fc="" class="user"><!----> <a data-v-5fa222fc="" class="user-menu">QA@some.com <img data-v-5fa222fc="" src="data:image/png;base64,iVBORw....uQmCC"></a></div>
QA@some.com
试试这个xpath:
//a[contains(., 'QA@some.com')]
根据您共享的HTML,单击用户图像需要引导WebDriverwait,以便下一个所需元素可单击,您可以使用以下任一解决方案:
:partialLinkText
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.partialLinkText("QA@some.com"))).click();
:css选择器
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();