python - 如何使用 CSS 选择器转换或映射 xpath?
问题描述
我有代码可以使用 xpath 执行或查找标签以查找文件
xPathToFieldBasedOnLabe="//div[text()='" + keyword + "']//parent::div//parent::div[contains(@class,'Button')]"
上面我想转换成CSS扇区,我做了如下映射,好像不行..
xPathToFieldBasedOnLabel = "div:contains(" + keyword + ").parent:div.parent:div.Button"
在 xpath 映射到 css 选择器上的任何输入或更正?
解决方案
首先,您可以ancestor
在 XPath 表达式中使用:
//div[text()='" + keyword + "']/ancestor::div[contains(@class,'Button')]
您无法将元素的内容与 CSS 选择器匹配。它不存在。
但是,有一种解决方法scrapy
可以将 CSS 转换为 XPath(感谢cssselect
库)。因此,对于您的具体情况,如果您使用的是scrapy,您可以编写:
keyword = foobar
response.css(div.Button div:contains("'+keyword+'")).get()
但它可能过于笼统,需要加强。
推荐阅读
- python - Colab 中带有 Kora 的 Python 3.8 不再工作,如何修复?
- javascript - 使用JS将隐藏字段插入表单
- php - Heroku + Lumen SoapClient
- javascript - 读取文件时行之间的延迟
- python - Python:用于回归股票分析的 for 循环(或其他方法,如 apply()、rolling)
- mixed-integer-programming - 在 docplex 中停止模型后如何获得解决方案?
- content-management-system - 如何为 Avaya CMS 脚本的报告自动填充刷新时间
- apache-kafka-connect - KSql Stream-table 内部连接没有给出预期的结果
- java - 在应用程序被强制停止并重新打开后,PeriodicWorkRequest 不会立即运行
- matplotlib - 如何在 matplotlib 的条形图中弯曲整个条形?