Selenium 为什么我的XPath不工作?
试图在类名为“a”的标记之间获取第一组元素Selenium 为什么我的XPath不工作?,selenium,xpath,selenium-webdriver,Selenium,Xpath,Selenium Webdriver,试图在类名为“a”的标记之间获取第一组元素 正在为所有div[@class='a']元素计算XPath(请注意/) 您所要做的就是将其限制为第一个: (//div[@class='a'])[1]/following-sibling::div[@class='a'][1]/preceding-sibling::div[preceding-sibling::div[@class='a']] 我认为这个xpath适合您: //div/section/div[count(preceding-sibl
正在为所有div[@class='a']
元素计算XPath(请注意/
)
您所要做的就是将其限制为第一个:
(//div[@class='a'])[1]/following-sibling::div[@class='a'][1]/preceding-sibling::div[preceding-sibling::div[@class='a']]
我认为这个xpath适合您:
//div/section/div[count(preceding-sibling::div[@class='wisfb_scheduleGroupTitle'])=1]/preceding-sibling::div[@class!='wisfb_scheduleGroupTitle']
针对页面进行了测试,并验证了它的有效性。您的xpath似乎与发布的代码示例无关?修复了它,对此表示抱歉。出于某种原因,我只返回了2个元素,而不是3个。您的示例返回了3个元素。你能分享你有问题的完整XML吗(简单就是好的)?我测试了他的xpath,将a
替换为wisfb_scheduleGroupTitle
,它成功了。我刚刚在Chrome上测试过,它也成功了,但在我的scraper功能中没有。我猜这是另一个问题。谢谢
//div/section/div[count(preceding-sibling::div[@class='wisfb_scheduleGroupTitle'])=1]/preceding-sibling::div[@class!='wisfb_scheduleGroupTitle']