如何从以下HTML中制定Xpath表达式

时间:2014-05-02 18:28:53

标签: python html selenium xpath web-scraping

enter image description here

嗨,

我想写一个xpath表达式到 ONLY 打印所有“class - insights type1”的文本。我不需要打印那些“隐藏”的东西。

以下CSS选择器为我提供了Insights弹出窗口的所有标签

driver.find_elements_by_css_selector("#body > div.side-module.expanded > div.content")

有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:2)

以下是您可以这样做的方法:

//div[@class="content"]/div[@class="insights type1"]

在python中调用find_elements_by_xpath()并获取每个div的文本:

for div in driver.find_elements_by_xpath('//div[@class="content"]/div[@class="insights type1"]'):
    print div.text

请注意,如果您只需要一个div,请仅使用find_element_by_xpath()

div = driver.find_element_by_xpath('//div[@class="content"]/div[@class="insights type1"]')
print div.text

此外,如果这些div也可以在content div之外 - 请使用//div[@class="insights type1"]

希望有所帮助。

答案 1 :(得分:0)

您可以使用Chrome的开发工具。

使用F12启动开发工具,然后右键单击所需xpath的元素。

然后使用lxml处理xml树。

image