Функция Click () в Selenium не работает в Python

#python #selenium #beautifulsoup

#python #селен #beautifulsoup

Вопрос:

Вот веб-сайт, который я пытаюсь очистить: https://www.horrycounty.org/bookings

Я разработал цикл for для циклического перебора дат, все, что мне нужно, это написать простой блок кода, чтобы нажать на кнопку «поиск», но у меня возникли некоторые трудности.

Мои мысли

     search = driver.find_element_by_class_name('btn btn-primary')
    search.click() 
  

Я впервые использую selenium, любая помощь будет приветствоваться.

Комментарии:

1. Что происходит, когда вы пробуете этот пример кода? Вы получаете сообщение об ошибке?

2. Я бы получил сообщение об ошибке «элемент не доступен для просмотра в этом диапазоне», но ниже Эмма и Алинаджафи решили проблему! Спасибо всем, кто помог!

Ответ №1:

Попробуйте использовать JavaScript для элемента click (это сработало для меня):

 search = driver.find_element_by_css_selector("span.btn-primary")
driver.execute_script("arguments[0].click();", search)
  

Ответ №2:

Попробуйте это:

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

search = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CLASS_NAME, 'btn btn-primary')))
search.click()
  

Ответ №3:

Попробуйте использовать селектор CSS span.btn-primary , чтобы нажать на кнопку:

 from selenium import webdriver

URL = "https://www.horrycounty.org/bookings"
driver = webdriver.Chrome()
driver.get(URL)

search = driver.find_element_by_css_selector("span.btn-primary")
search.click()