ScrapySplash在classname中找不到带有“:”的元素

时间:2018-03-12 22:58:56

标签: scrapy scrapy-splash

我正在使用带有Splash的Srcapy来使用名为IFaces的Java框架来抓取网站。此框架对元素的ID和类名使用“_id35:_id48”等值。

当我使用Splash抓取网站并尝试选择具有此值的元素时,我得到了一个DOM异常12,可能是因为值中使用了“:”字符。我已经试图逃避该值(即:“_ id35 \ 3a_id48”和_id35 \ 3a _id48),但仍然遇到同样的错误。

我还有其他方法可以选择这些元素(比如XPath)吗?

1 个答案:

答案 0 :(得分:1)

您可以在Lua脚本中使用带有splash:select的CSS选择器,这样您就可以按类名选择:

splash:select('.element')

或像这样的id:

splash:select('#_id35:_id48')

看一下CSS selector documentation,我相信你会找到一种方法来实现你想要的。

查看this question too,了解如何在启动时使用js的一些示例。