ScrapySplash не может найти элементы с : в имени класса

Я использую Srcapy с Splash для обхода веб-сайта с использованием java-фреймворка с именем IFaces. Эти фреймворки используют такие значения, как «_id35:_id48» для идентификатора элемента и имен классов.

Когда я сканирую сайт с помощью Splash и пытаюсь выбрать элемент с этим значением, я получаю исключение DOM 12, вероятно, из-за того, что в значениях используется символ «:». Я уже пытался экранировать значение (например: "_id35\3a_id48" и _id35\3a _id48), но все равно получал ту же ошибку.

Есть ли другой способ выбрать эти элементы (например, XPath)?


person epc    schedule 12.03.2018    source источник


Ответы (1)


Вы можете использовать селектор CSS с splash:select внутри сценарий Lua, таким образом вы можете выбрать имя класса следующим образом:

splash:select('.element')

или по id вот так:

splash:select('#_id35:_id48')

Взгляните на документацию по CSS-селекторам. Уверен, вы найдете способ добиться желаемого.

Взгляните также на этот вопрос, для некоторых примеров того, как использовать js с заставкой.

person aleroot    schedule 28.03.2018