ScrapySplash 找不到类名中带有“:”的元素

ScrapySplash cannot find elements with ":" in classname

我将 Srcapy 与 Splash 一起使用,以使用名为 IFaces 的 java 框架来抓取网站。该框架使用诸如“_id35:_id48”之类的值作为元素的 ID 和类名。

当我使用 Splash 抓取网站并尝试 select 具有此值的元素时,我得到了 DOM 异常 12,可能是因为值中使用了“:”字符。我已经尝试转义该值(即:“_id35a_id48”和_id35a _id48)但仍然出现相同的错误。

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

您可以在 Lua 脚本中使用 CSS select 或 splash:select,这样您就可以 select 通过 class像这样命名:

splash:select('.element')

或像这样通过 id:

splash:select('#_id35:_id48')

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

查看 ,了解有关如何将 js 与 splash 结合使用的一些示例。