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