如何减少Xpath使其更短?

时间:2019-05-16 10:16:37

标签: c# selenium-webdriver xpath

我正在尝试获取Angular wesbite中菜单项的值。如果我输入了详细的Xpath,则可以从下拉菜单中选择菜单项。

如何使XPath显着缩短? 抱歉,如果这是一个可怕的问题,我正在拔头发!

我使用了确切的XPath,但是签入时我的代码被拒绝了。

driver.FindElement(By.XPath("/html/body/modal-container/div/div/inv-education-modal/article/div[2]/div/div[1]/div[1]/div/inv-drop-down-select/section/div/ul/li[3]/a/span"));

我实际上想传递一个参数,以便它选择相关的下拉值,但这是一个Angular网站,因此我不能使用SelectElement。

1 个答案:

答案 0 :(得分:1)

您的<a> tag前面有一个<span> tag,表示hyperlink

通常,超链接具有href attribute以及相关的文本,例如:

<a href="http://example.com>Click me!</a>

在您的网站中显示为:

Click me!

一个“较短的” XPath将查找带有“单击我”文本的超链接,其外观如下:

//a[@href='Click me!']

,如果要下一个span-//a[@href='Click me!']/span

参考文献: