кнопка отправки в selenium без идентификатора и значения

#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-адресом страницы ?