我正在尝试获取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。
答案 0 :(得分:1)
您的<a>
tag前面有一个<span>
tag,表示hyperlink。
通常,超链接具有href
attribute以及相关的文本,例如:
<a href="http://example.com>Click me!</a>
在您的网站中显示为:
一个“较短的” XPath将查找带有“单击我”文本的超链接,其外观如下:
//a[@href='Click me!']
,如果要下一个span
-//a[@href='Click me!']/span
参考文献: