Как нажать на кнопку «Радио» - PullRequest
0 голосов
/ 09 апреля 2020

В этот раз у меня возникла проблема с нажатием на настраиваемую радио-кнопку: https://www.nebraska.gov/LISSearch/search.cgi

Когда я нажимаю радио-кнопку (в этом случае радио-кнопка с идентификатором = radio1), я получаю исключение,

selenium.common.exceptions.ElementClickInterceptedException: Сообщение: перехвачен щелчок элемента: элемент не активен в точке (153, 449). Другой элемент получит щелчок: (Информация о сеансе: chrome = 80.0.3987.163)

Я попытался щелкнуть по нему, используя и xpath, и идентификатор, и оба выдавали одну и ту же ошибку. Я понимаю, в чем ошибка - она ​​не кликабельна. Мне было интересно, как я мог обойти это, на самом деле нажмите на кнопку радио. Я также включил изображение переключателя, установленного ниже. enter image description here

1 Ответ

1 голос
/ 09 апреля 2020

Для обработки исключений, перехваченных элементом, пользователь может использовать следующий код:

    wait = WebDriverWait(driver, 10)
    radioButton=wait.until(EC.element_to_be_clickable((By.ID, "radio1")))
    ActionChains(driver).move_to_element(radioButton).click().perform()

или

    wait = WebDriverWait(driver, 10)
    radioButton=wait.until(EC.element_to_be_clickable((By.ID, "radio1")))
    driver.execute_script("arguments[0].click();", radioButton)

Примечание: Добавить библиотеки библиотеки:

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