Java, Selenium.如何定位超链接web元素?



我试图在"退出"上执行点击操作链接在Gmail上,但我的控制台一直说它无法找到元素。下面是我的代码。谢谢你!

@FindBy(linkText="Sign out")
WebElement logoutLink;

这是HTML:

输入图片描述

这是WebElement:

https://i.stack.imgur.com/JI9r6.png

如果您仔细观察文本请退出实际上在<div>中有一个祖先<span>又有一个祖先<a>

所以一个有效的定位策略可以是:

  • 使用xpath:

    @FindBy(xpath="//a//span//div[text()='Sign out']")
    WebElement logoutLink;
    

您可以使用这个XPath来定位该元素:

"//a[contains(@href,'Logout')]"

或者这个CSS选择器:

"a[href*='Logout']"

最新更新