如何使用CSS选择器转换或映射xpath?

2024-10-01 05:05:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段代码,可以使用xpath查找文件的标签

 xPathToFieldBasedOnLabe="//div[text()='" + keyword + "']//parent::div//parent::div[contains(@class,'Button')]"

上面我想转换到CSS扇区,我做了如下映射,似乎不起作用

xPathToFieldBasedOnLabel = "div:contains(" + keyword + ").parent:div.parent:div.Button"

上面xpath映射到css选择器有什么输入或修改吗


Tags: 代码textdivbutton标签cssxpathkeyword
1条回答
网友
1楼 · 发布于 2024-10-01 05:05:07

首先,您可以在XPath表达式中使用ancestor

//div[text()='" + keyword + "']/ancestor::div[contains(@class,'Button')]

您无法将元素的内容与CSS选择器匹配。它不存在。

不过,在scrapy中有一个变通方法,可以将CSS转换为XPath(多亏了cssselect库)。因此,对于您的具体情况,如果您使用scrapy,您可以写:

keyword = foobar
response.css(div.Button div:contains("'+keyword+'")).get()

但它可能过于笼统,需要加强

相关问题 更多 >