#python-3.x #selenium
Вопрос:
У меня есть кнопка
lt;button type="submit" class="btn btn-default waves-effect waves-light"gt;lt;i class="fa fa-search" aria-hidden="true"gt;lt;/igt;lt;/buttongt;
Я уже проверил все это, но безуспешно
# browser.find_element_by_class_name('fa fa-search').click() # browser.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[4]/div/form/div/button').click() # WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="RechAvFormRadio"]/div/button'))).click()
Ответ №1:
Попробуйте использовать css-селектор следующим образом :
button.btn.btn-default.waves-effect.waves-light
или xpath
//button[contains(@class,'btn btn-default waves-effect waves-light')]
или
//i[contains(@class,'fa fa-search')]/parent::button
PS : Пожалуйста, проверьте в dev tools
(Google chrome), есть ли у нас уникальная запись HTML DOM
или нет.
Шаги для проверки:
Press F12 in Chrome
-gt; перейдите в gt; element
раздел -gt; сделайте gt; CTRL F
-gt; затем вставьте gt; xpath
и посмотрите, element
выделяется ли ваш желаемый 1/1
соответствующий узел.
Пробная версия кода 1 :
time.sleep(5) driver.find_element_by_xpath("//i[contains(@class,'fa fa-search')]/parent::button").click()
Пробная версия кода 2 :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//i[contains(@class,'fa fa-search')]/parent::button"))).click()
Импорт :
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
Комментарии:
1. Обратная связь: селен.общие.исключения. Исключение ElementClickInterceptedException: Сообщение: перехвачен щелчок элемента: Элемент lt;тип кнопки=»отправить» класс=»btn btn-волны по умолчанию-эффект волны-свет»gt;…lt;тип кнопки=»отправить» класс=»btn btn-волны по умолчанию-эффект волны-свет»gt;lt;/кнопкаgt; недоступна в точке (674, 578). Другой элемент получит щелчок: lt;div class=»текстовый центр col-8″gt;…lt;div class=»текстовый центр col-8″gt;lt;/divgt; (Информация о сеансе: chrome=94.0.4606.81)
2. Есть ли какой-либо накладывающийся веб-элемент ?
3. похоже, что да
4. Если возможно, можете ли вы поделиться URL-адресом страницы ?