@san_m_m

Часть 2. Как нажать на кнопку с помощью Selenium?

Добрый день!

Проблема в следующем, чтобы код по раскрытию всех страниц сработал корректно... Необходимо нажать на кнопку согласиться c cookie.

Ниже прилагаю сам код и варианты решения проблемы, которые я пробовал.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pandas as pd
import time
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains



driver = webdriver.Chrome(executable_path='D:\chromedriver.exe')

driver.get("https://www.soglasie.ru/agent_search/")
time.sleep(4)

#button_cookie = driver.find_element_by_xpath("//span[text()='Согласен']")
#button_cookie = driver.find_elements_by_class_name('cookie-policy__button')
#button_cookie.click()
search = driver.find_element_by_xpath("//input[@class='input-smart__input']")
search.send_keys('Иван')
button = driver.find_element_by_xpath("//div[@class='s-btn']")
button.click()


while True:
    while True:
        if driver.find_elements_by_class_name('s-btn__loader'):
            time.sleep(10)
        else:
            break

    try:
        load_more_btn = driver.find_element_by_xpath("//span[text()='Показать еще']").find_element_by_xpath('..')

    except NoSuchElementException:
        print('Загрузили страницу до конца')
        break
    

    load_more_btn.click()

    time.sleep(10)
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
ValarMayar
@ValarMayar
Д У Р А Ч О К / недопрограммист графоман
btn = find_element(By.XPATH, "you xpath или другой способ нахождения элемента")
driver.execute_script("arguments[0].click();", btn )
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Levman5
@Levman5
print(“Hello World!”)
Её надо было по айди найти. Вот код:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pandas as pd
import time
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains



driver = webdriver.Chrome(executable_path='chromedriver.exe')

driver.get("https://www.soglasie.ru/agent_search/")
time.sleep(4)
driver.find_element_by_class_name('cookie-policy__button').click()
#button_cookie = driver.find_element_by_xpath("//span[text()='Согласен']")
#button_cookie = driver.find_elements_by_class_name('cookie-policy__button')
#button_cookie.click()
search = driver.find_element_by_xpath("//input[@class='input-smart__input']")
search.send_keys('Иван')
button = driver.find_element_by_xpath("//div[@class='s-btn']")
button.click()


while True:
    while True:
        if driver.find_elements_by_class_name('s-btn__loader'):
            time.sleep(10)
        else:
            break

    try:
        load_more_btn = driver.find_element_by_xpath("//span[text()='Показать еще']").find_element_by_xpath('..')

    except NoSuchElementException:
        print('Загрузили страницу до конца')
        break
    

    load_more_btn.click()

    time.sleep(10)


driver.find_element_by_class_name('cookie-policy__button').click()
ищет кнопку и нажимает на неё
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы