我需要一个包含ListArticles
h2
on this webpage内所有a
元素的列表,以及python和selenium。在
我试过类似的东西
results = driver.find_element_by_xpath("//*[@id='ListArticles']/h2/a")
但它不起作用。xpath tester表示表达式的第一部分,即//*[@id='ListArticles']
到达了我需要的小节,但是它没有得到ListArticles
内的{h2
中的a
链接。在
非常感谢任何帮助!在
它应该是:
您的
xpath
只得到了h2
标记,这些标记是带有id=ListArticles
的标记的直接子代,而使用//
可以得到每个子代。在而不是这个XPath
使用此XPath
^{pr2}$为
h2
元素计算额外的div
父元素。在但是请注意,
h3
元素下还有a
元素。要获取它们,并绕过任何中间的div
元素,可以使用以下XPath获取目标},而不管中间的元素是什么。在
a
下的所有子元素{在这种情况下,不需要使用XPath。在我看来,你应该更喜欢CSS选择器,因为它们创建起来不那么复杂,因此更容易阅读和维护。它们在浏览器间也得到更好的支持,而且速度更快。在
本例中的CSS选择器是
#ListArticles h2 > a
。#
表示一个ID。在XPath中,空格相当于//
,它表示任何后代。在XPath中,>
相当于/
,它只表示子代/直接后代。在下面是一些CSS选择器引用,可以帮助您了解CSS选择器。在
CSS Selectors spec
Selenium Tips: CSS Selectors
Taming Advanced CSS Selectors
相关问题 更多 >
编程相关推荐