Python 如何从下面的HTML中构造Xpath表达式

Python 如何从下面的HTML中构造Xpath表达式,python,html,selenium,xpath,web-scraping,Python,Html,Selenium,Xpath,Web Scraping,嗨 我想编写一个xpath表达式,仅用于打印所有“类洞察类型1”的文本。我不需要打印那些有“隐藏”的 下面的CSS选择器为我提供了洞察弹出窗口的所有标记 driver.find_elements_by_css_selector("#body > div.side-module.expanded > div.content") 有人能帮忙吗 谢谢以下是您可以做到这一点的方法: //div[@class="content"]/div[@class="insights type1"]

我想编写一个xpath表达式,仅用于打印所有“类洞察类型1”的文本。我不需要打印那些有“隐藏”的

下面的CSS选择器为我提供了洞察弹出窗口的所有标记

driver.find_elements_by_css_selector("#body > div.side-module.expanded > div.content")
有人能帮忙吗


谢谢

以下是您可以做到这一点的方法:

//div[@class="content"]/div[@class="insights type1"]
在python中调用并获取找到的每个div的文本:

for div in driver.find_elements_by_xpath('//div[@class="content"]/div[@class="insights type1"]'):
    print div.text
请注意,如果您只需要一个div,请仅使用:

此外,如果这些
div
s也可以位于
内容之外,请使用
//div[@class=“insights type1”]


希望能有所帮助。

您可以使用Chrome的开发工具来实现这一点

使用F12启动开发工具,右键单击要使用xpath的元素

然后使用来处理xml树


我在同一个div的同一级别上还有一个[@class=“insights type 2”],我想打印“type 1”和“type 2”类。以下任何一项都有效吗?(“//div[@class='content'][/div[@class='insights type1']][/div[@class='insights type2']])或(“[/div[@class='content']/div[@class='insights type1']]和[/div[@class='content']]/div[@class='insights type2']])@user3587233试试这个:
//div[@class='content']/div,你能帮我回答上面的问题吗。谢谢
div = driver.find_element_by_xpath('//div[@class="content"]/div[@class="insights type1"]')
print div.text