Нажав несколько кнопок на одной странице с Selenium Python - PullRequest
0 голосов
/ 14 октября 2019

Я очень новичок в Python и Selenium. Я использую хромедрайвер. Мне нужна помощь. У меня есть веб-страница, к сожалению, я не могу показать ее, потому что она заблокирована, чтобы открываться от всех, но локально на работе. По сути, это веб-страница, на которой около 15 кнопок (одного класса), и при нажатии кнопка исчезает. Я хочу сделать код, который будет нажимать на каждую кнопку по одной, пока все они не будут нажаты (исчезли). Затем обновите страницу и сделайте то же самое для следующих 100 страниц.

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

У меня нет вашей страницы для тестирования этого кода, поэтому будем надеяться, что он работает ..

вы можете получить все кнопки на странице в списке, а затем сделать цикл, чтобы щелкнуть все элементы списка ... должно выглядеть примерно так:

# this will return a list with all buttons
buttons = driver.find_elements_by_xpath("//*[@class='btn default check check green markAsChecked']")

# clicking loop
for button in buttons:
button.click()

вам может понадобиться добавить небольшую задержку между щелчками, потому что это иногда вызывает ошибку в селене ... просто попробуйте сначала без задержки ... если это не работает, добавьте sleep(0.5) взациклите или сделайте клик с помощью JavaScript

0 голосов
/ 18 октября 2019

То, что я нашел для меня, это то, что я нашел похожий вопрос, и один из ответов был таким. Не уверен, как на самом деле это работает и почему я должен использовать определенные цифры для кнопок, потому что, если я использую кнопки [4] .click (), это не будет работать.

buttons = driver.find_elements_by_xpath ("// *[@ class = 'btn проверка по умолчанию проверяет зеленый markAsChecked'] ") button [2] .click ()

buttons = driver.find_elements_by_xpath (" // * [@ class = 'btn проверка по умолчанию проверяет зеленый markAsChecked'] ") button [3] .click ()

buttons = driver.find_elements_by_xpath (" // * [@ class =' ​​btn проверка по умолчанию зеленая отметка AsChecked '] ") кнопки [5] .click ()

buttons = driver.find_elements_by_xpath ("// * [@ class = 'проверка по умолчанию проверяет зеленую отметку AsChecked']") кнопки [7] .click ()

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