В некоторых приложениях есть div с пользовательским атрибутом tip:
<div tip="<b>Kobold łucznik</b>" style="left: 450px; top: 220px;">...</div>
<div tip="<b>Kobold łucznik</b>" style="left: 320px; top: 320px;">...</div>
Я использую веб-драйвер nodeJs selenium для извлечения некоторых данных из этого приложения.Я нашел информацию, что я могу использовать xpath, чтобы получить элементы, атрибут которых чему-то равен.
Чего я хочу добиться, так это найти все элементы, значение настраиваемого атрибута tip которых содержит строку: 'Kobold łucznik'
.Я хочу сделать это, чтобы иметь возможность собирать x и y из left: x px
и top: y px
и затем передавать их в некоторый массив объектов.
Но первый шаг - найти все эти элементы.
Я пытался так:
driver.findElements(webdriver.By.xpath('//@*[contains('Kobold łucznik','tip')]/..'))
Но без удачи.
Как сказал @ zx485 в разделе комментариев, проблема заключается в том, что tip
значение атрибута содержит <
.К сожалению, я не могу изменить значение tip
.Ключом к тому, чтобы мое приложение работало правильно, является получение этих элементов, и я не могу выполнить свою работу без этого.