将元素转换为 python 中的 css 选择器
Convert element to css selector in python
我正在尝试转换以下元素:
@[width="300"]
我将 xpath 转换为:
//*[@width="300"]
给一个cssselect或者。因为如果我使用 lxml 运行:
selector = "@[width="300"]"
tree = lxml.html.fromstring(fparse(fileIn).to_string())
tree.cssselect(selector)
我收到以下错误:
Expected selector, got <DELIM '@' at 0>
如何在不使用 lxml 本身不包含的外部库的情况下转换它?我需要使用 cssselect 而不是 xpath,因为在其他情况下我的程序需要解析 select 或者如下所示:
@[width="300"] > p > a
您不需要 @
用于 CSS 选择器中的属性定义:
[width="300"]
双引号对于这个特定值实际上是额外的(只要属性值是字母数字):
[width=300]
我正在尝试转换以下元素:
@[width="300"]
我将 xpath 转换为:
//*[@width="300"]
给一个cssselect或者。因为如果我使用 lxml 运行:
selector = "@[width="300"]"
tree = lxml.html.fromstring(fparse(fileIn).to_string())
tree.cssselect(selector)
我收到以下错误:
Expected selector, got <DELIM '@' at 0>
如何在不使用 lxml 本身不包含的外部库的情况下转换它?我需要使用 cssselect 而不是 xpath,因为在其他情况下我的程序需要解析 select 或者如下所示:
@[width="300"] > p > a
您不需要 @
用于 CSS 选择器中的属性定义:
[width="300"]
双引号对于这个特定值实际上是额外的(只要属性值是字母数字):
[width=300]