Как нажать на идентификатор img в HTML с помощью Selenium и Python

#python #selenium

Вопрос:

Я не могу найти способ нажать на кнопку, которая является тегом, а не . Вот тег, на который я пытаюсь нажать. Кстати, этот файл plus.png используется на странице несколько раз.

 <div class="col-md-12">
 <div class="text-center"><img src="./assets/img/plus.png" id="add_address"></div>
</div>
 

Ответ №1:

используйте этот xpath, чтобы щелкнуть по нему.

 //img[@id='add_address']
 

Пробная версия кода 1 :

 time.sleep(5)
driver.find_element_by_xpath("//img[@id='add_address']").click()
 

Пробная версия кода 2 :

 WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//img[@id='add_address']"))).click()
 

Пробная версия кода 3 :

 time.sleep(5)
button = driver.find_element_by_xpath("//img[@id='add_address']")
driver.execute_script("arguments[0].click();", button)
 

Испытание кода 4 :

 time.sleep(5)
button = driver.find_element_by_xpath("//img[@id='add_address']")
ActionChains(driver).move_to_element(button).click().perform()
 

Импорт :

 from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
 

PS : Пожалуйста, проверьте в dev tools (Google chrome), есть ли у нас уникальная запись HTML DOM или нет.

Шаги для проверки:

Press F12 in Chrome -> перейдите в > element раздел -> сделайте > CTRL F -> затем вставьте > xpath и посмотрите, element выделяется ли ваш желаемый 1/1 соответствующий узел.

Не уверен , что у нас есть уникальный ID , если ID он уникален, то вам следует отдать предпочтение ID нет xpath .