来自HTML的XPATH标识符

时间:2016-02-16 12:59:47

标签: selenium selenium-webdriver webdriver

<ul class="popupmenu is-open" id="menuFormDefaultFC" role="menu" aria-hidden="false">
<li role="presentation"><a tabindex="-1" role="menuitem" href="#A">Add</a>

请有人让我知道上面带有href的html的Xpath。

4 个答案:

答案 0 :(得分:1)

以下是href的几个选项。

1. By.xpath(".//a[@href='#A']");
2. By.xpath(".//li[@role='presentation']/a[@href='#A']");

但是对于链接,您只能使用linkText。除非您的应用支持多种语言环境,否则我更喜欢以下内容。

By.linkText("Add");

或使用CSS选择器

1. By.cssSelector("a[role='presentation']");
2. By.cssSelector("li[role='presentation']>a[href='#A']");

答案 1 :(得分:0)

试试这个bar

可以用作//a[contains(text(),'Add')]

答案 2 :(得分:0)

我会这样做:

By closedMenu = By.xpath(".//ul[not(contains(@class, 'is-open'))]");
By openMenu = By.xpath(".//ul[contains(@class, 'is-open')]");
By addItem = By.linkText("Add");
By addItemLocator = new ByChained(openMenu, addItem);

答案 3 :(得分:0)

使用Firefox插件“Firepath”提取xpath。

https://addons.mozilla.org/en-US/firefox/addon/firepath/