Python Selenium найти URL и перейти на следующую страницу - PullRequest
1 голос
/ 18 января 2020

Этот скрипт работает, но, поскольку я знаю, что доступно больше URL-адресов, что мне нужно добавить, чтобы перейти на следующую страницу. например, мне нравится получать все URL на первой, второй и третьей страницах Google? Спасибо за вашу помощь!

import time
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup

options = Options()
options.headless = True
driver = webdriver.Firefox(options=options, executable_path = "c:\\...\\geckodriver.exe")
url = "https://www.google.de"
driver.get(url)

actions = webdriver.ActionChains(driver)

time.sleep(4)

element = driver.find_element_by_xpath("//form[@id='tsf']/div[2]/div/div/div/div[2]/input")
element.send_keys('restaurant in hamburg');
element.submit()
time.sleep(2)

driver = webdriver.Firefox(browser_profile=fp)

htmltext = driver.page_source
soup = BeautifulSoup(htmltext, "lxml")
ergebnisse = soup.find_all ("div", class_="rc")

for result in results:
    link = result.find ("a",href=True)
    print (link.get('href'))

driver.quit()

1 Ответ

0 голосов
/ 18 января 2020

Навигация по различным страницам через селен ничем не отличается от обычного просмотра. Создайте переменную и установите для нее элемент, который приведет вас на следующую страницу (кнопка «Далее» или опция «2-я страница»). Затем вы можете использовать .click(), чтобы щелкнуть элемент. Затем l oop через часть, которая получает ваши URL и повторите для каждой последующей страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...