Поиск элемента Dynamic li с изменяющимся номером с помощью Selenium - PullRequest
0 голосов
/ 29 июня 2019

Я новый селен и python и только начал два дня назад. Я делаю поиск в Интернете и пытаюсь найти динамическую ссылку с изменяющимся номером

Я определил местонахождение xpath с помощью Chrome Dev Tools.Однако, поскольку это динамический элемент, я понял его часть.

Я знаю, что мог бы использовать цикл for с инкрементной переменной для тега li, но затем я хотел бы знать, есть ли другие способы для достижения этого. В XML есть функция для конца, но его XML2.0 и браузеры поддерживаютверсия 1

Я пытаюсь что-то вроде этого и

  //*[contains(@id,"submenu1")]/li[i]/a/span

Как мне структурировать последние элементы выше xpath (/ li [i] / a / span), чтобы он мог захватывать динамическиечисловые значения, как указано выше?

Вот HTML-код элементов

 //*[@id="submenu1"]/li[1]/a/span
 //*[@id="submenu1"]/li[2]/a/span
 //*[@id="submenu1"]/li[3]/a/span
 //*[@id="submenu1"]/li[4]/a/span
 //*[@id="submenu1"]/li[5]/a/span
 //*[@id="submenu1"]/li[6]/a/span
 //*[@id="submenu1"]/li[7]/a/span

Фактический должен быть в состоянии захватить с изменением числа внутри тега li

1 Ответ

0 голосов
/ 01 июля 2019

Несмотря на то, что в XPath 1.0 нет встроенной функции end-with , существуют функции XPath и операторы , которые позволяют вам реализовать это, пример HTML:

<a href="http://com.example">com.example</a>
<a href="http://example.com">example.com</a>

Пример XPath, который находит ссылку, заканчивающуюся com:

//a[substring(text(), string-length(text()) - string-length('com')+ 1, string-length(text()))= 'com']

Демонстрация:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...