我正在尝试为eBay网站上的“电子”链接编写XPath,但似乎有两个链接具有完全相同的标签和属性:
tasklist /v /nh /fi "WINDOWTITLE eq test.bat - Notepad" |findstr /B /C:"INFO: No tasks are running">nul && (echo Program not running) || (echo Awesome)
我正在使用这个XPath:
<a class="rt" _sp="p2057337.m1381.l3250" href="http://www.ebay.com/rpp/electronics">Electronics</a>
这条路径给了我2个节点,我不知道还有什么用。请参阅随附的Firebug屏幕截图,以供参考:
答案 0 :(得分:0)
您可以直接使用By.linkText()
定位器,而不是使用xpath。
driver.findElements(By.linkText('Electronics')) //but this will also give you two elements.
如果要选择特定链接,则需要实现自定义xpath,如下所示。
第一个链接
driver.findElement(By.xpath(".//div[@id='navigatonFragment']/descendant::a[normalize-space(text())='Electronics']"));
第二个链接
driver.findElement(By.xpath(".//div[@class='topnavlayer']/descendant::a[normalize-space(text())='Electronics']"));
答案 1 :(得分:0)
这两个链接都可以使用:
链接1:
//div[@id='navigationFragment']/descendant::a[text()='Electronics']
链路2:
//td[@data-hover-tracking='p2057337.m1381.l6435']/a[contains(@href,'electronics')]
答案 2 :(得分:0)
我们可以这样给吗?
//li[@class='hl-cat-nav__js-tab']
//a[contains (@href,'Electronics') and @xpath='1']
可以使用此xpath突出显示电子设备链接。