Как мне go перейти на следующую страницу Google со слением в Pyhton? - PullRequest
0 голосов
/ 16 февраля 2020

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

Я пытался найти элемент по тексту ссылки с помощью этой команды Next_btn = driver.find_element_by_link_text ('Next'). Click () , но ничего не работает

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# create a new Firefox session
driver = webdriver.Firefox()

# Navigate to the application home page
driver.get("https://www.google.com")

# get the search textbox
search_field = driver.find_element_by_name('q')
search_field.clear()

# enter search keyword and submit
search_field.send_keys("Stranger things")
search_field.submit()

#goint to next page results
Next_btn = driver.find_element_by_xpath('//*[@id="pnnext"]/span[2]')
Next_btn.click()

1 Ответ

0 голосов
/ 16 февраля 2020

Убедитесь, что используете WebDriverWait, чтобы скрипт выполнял проверку присутствия элемента перед выполнением операции.

Вот проверенный код, который сработал, как и ожидалось.

Требуется импорт:

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

Код:

url = "https://google.com"
driver.get(url)
# get the search textbox
search_field = driver.find_element_by_name('q')
search_field.clear()

# enter search keyword and submit
search_field.send_keys("Stranger things")
search_field.submit()

Next_Button = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.LINK_TEXT, "Next")))
Next_Button.click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...