Как автоматизировать Selenium для нажатия кнопки изображения - найти элемент по onclick? - Python - PullRequest
0 голосов
/ 11 июля 2020

Первый пост здесь, потому что я не смог найти ответ на то, что искал. Я пытаюсь автоматизировать нажатие красной кнопки.

введите описание изображения здесь

Я автоматизировал вход на этот сайт (не могу сказать, какой) и добавил функция ожидания, но все же, независимо от того, копирую ли я полный xpath, селектор или другие параметры, которые функция копирования дает мне внутри «элемента проверки», я не могу заставить Python выполнить щелчок по кнопке. (может быть потому, что изображение кнопки служит наложением - может быть, ошибочно, но мне так кажется).

Это код, который я использовал:

from selenium import webdriver
import time

driver = webdriver.Chrome("C:\\Users\\XXXXXXXXXXX\\Desktop\\chromedriver_win32\\chromedriver.exe")
driver.get("XXXXXXXXXXX")

driver.find_element_by_id("e_user").send_keys("XXXXXXXXXXX")
driver.find_element_by_id("e_pass").send_keys("XXXXXXXXXXX")
driver.find_element_by_xpath("/html/body/div[4]/table/tbody/tr[5]/td[2]/input").click()
time.sleep(5)

driver.find_element_by_xpath ( "//button[@onclick="btn_click(this,'btn_2_1')"pting").click()`

Команда, выделенная жирным шрифтом, не работает. Остальное в порядке.

Я пробовал найти элемент по xpath, текстовому имени (početak prisustva na radu) и несколько других вариантов поиска селена по id, но безуспешно.

Я думаю, Лучшим способом было бы найти элемент onclick и щелкнуть по нему, но я новичок ie в программировании кода, поэтому, если бы кто-то мог мне помочь, я был бы очень благодарен. Каждая кнопка, которую вы видите там, имеет уникальное имя onlick. Я добавлю еще пару изображений, потому что они могут быть полезны для поиска решения.

Заранее спасибо.

С уважением, Djigzy

введите описание изображения здесь

1 Ответ

1 голос
/ 11 июля 2020

вы можете попробовать использовать элемент ActionChains - это ваш элемент, который вы нашли с помощью xpath

from selenium.webdriver import ActionChains
actions = ActionChains(browser)
actions.move_to_element(element).perform()
actions.click().perform()

Подробнее о ActionChains вы можете узнать здесь https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.action_chains.html

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