Подтвердить что ты не робот

Как я могу получить href элементов, найденных с помощью частичного текста ссылки?

Использование Selenium и драйвера Chrome я делаю:

links = browser.find_elements_by_partial_link_text('##') соответствует около 160 ссылок.

Если я попробую,

for link in links:
    print link.text

с этим я получаю текст всех ссылок:

##1
##2
...
##160

Ссылки такие:

<a href="1.html">##1</a>
<a href="2.html">##2</a>
...
<a href="160.html">##160</a>

Как я могу получить атрибут href всех найденных ссылок?

4b9b3361

Ответ 1

Вам просто нужно вызвать get_attribute на каждой из найденных вами ссылок. Таким образом, следующее должно работать:

links = browser.find_elements_by_partial_link_text('##')
for link in links:
    print link.get_attribute("href")

Теперь вы должны указать, что вам нужно.

Ответ 2

Существующий ответ на похожий вопрос кажется, что он может применяться:

Предположим, что

ваш HTML состоит только из одного тега, тогда это должно сделать это:

String href = selenium.getAttribute("[email protected]");

Вы используете метод DefaultSelenium#getAttribute() и передаете в локатор CSS, символ @ и имя атрибута, который хотите извлечь. В этом случае вы выбираете a и получаете его @href.

Итак, если ссылка содержит текст "..blablabla...", вы можете найти ее таким образом:

selenium.getAttribute("css=a:contains('..blablabla...')@href");