Как выбрать определенную кнопку с селеном - PullRequest
0 голосов
/ 06 ноября 2019

Мне нужен селен, чтобы выбрать кнопку с html-кодом:

<a href="stuMain.php?datasetID=31561">583</a>

Имеется более тысячи кнопок, и у каждой кнопки есть два разных числа в datasetID и число после этого. Мне не нужно выбирать определенную кнопку, мне просто нужна кнопка со вторым номером и идентификатором datasetID.

Я не знал, как это сделать, я пытался выбрать по тегу, но есть другиетеги на странице (тег 'a'), которые не ссылаются на то, что я хочу.

Примеры кнопок, которые нужно нажать:

<a href="stuMain.php?datasetID=31561">583</a>
<a href="stuMain.php?datasetID=31553">575</a>

Примеры того, что не нажимать:

<font color="red">579</font>
<a href="preview.php?datasetID=31557">View</a>

Вот что я попробовал:

dataset = driver.find_element_by_tag_name('a')

dataset.click()

1 Ответ

0 голосов
/ 08 ноября 2019

Вы можете сделать что-то вроде:

a = driver.execute_script("""
  return [...document.querySelectorAll('a[href*="datasetID="]')].find(a => a.innerText.match(/^\d+$/))
""")

Может быть проще получить и отфильтровать их в python.

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