我正在抓取新闻网站,并且我已经从首页获得了信息。 现在我想转到以下页面继续获取信息
我查看了信息并找到了代码
driver.find_element_by_id("link").click();
handles = driver.window_handles;
size = len(handles);
for x in range(size):
driver.switch_to.window(handles[x]);
print driver.title;
但是我不知道如何将其应用于我的案子,我当前的代码(有效)如下
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import csv
# Specifying incognito mode as you launch your browser[OPTIONAL]
option = webdriver.ChromeOptions()
option.add_argument("--incognito")
lista_datos = []
resultado = []
# Create new Instance of Chrome in incognito mode
browser = webdriver.Chrome(executable_path=r'C:\Users\inspiron3420\Downloads\chromedriver.exe', chrome_options=option)
# Go to desired website
browser.get("https://www.biobiochile.cl")
# Wait 20 seconds for page to load
timeout = 20
try:
variable = 'incendio'
boton = browser.find_element_by_xpath("//*[@id='search-anchor']")
boton.click()
buscar = browser.find_element_by_xpath("//*[@id='buscador-bbcl']/div/input")
buscar.send_keys(variable)
accion = browser.find_element_by_xpath("//*[@id='buscador-bbcl']/div/span[2]/button")
accion.click()
except TimeoutException:
print("Timed out waiting for page to load")
browser.quit()
try:
#Si se encuentran resultados la página los muestra en elementos de nombre "m-results-business"
#Para ello esperamos que estos elementos se carguen para proceder a consultarlos
WebDriverWait(browser, 5).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "resultados-texto")))
except:
print ("Elementos no encontrados")
#Obtenemos en una lista los elementos encontrados
resultados = browser.find_elements_by_class_name("resultados-texto")
for resultado in resultados:
titulopre = resultado.find_element_by_xpath("//*[@class='resultados-titular robotos']/div")
titulo = titulopre.text
fechapre = resultado.find_element_by_xpath("//*[@class='resultados-datos']/div")
fecha = fechapre.text
#Finalmente metemos en una lista de listas los datos obtenidos
lista_datos.append([titulo,fecha])
csvsalida = open('incendiobiobio.csv', 'w', newline='')
salida = csv.writer(csvsalida)
salida.writerow(['titulo', 'fecha'])
salida.writerows(lista_datos)
csvsalida.close()
browser.close()
在网站上,我确定将我带到下一个窗口的元素是
<a href="/lista/api/buscador?search=incendio&offset=20" class="page-link link-next-buscador" style="">Siguiente
偏移量更改为20(每页20个链接)
<a href="/lista/api/buscador?search=incendio&offset=40" class="page-link link-next-buscador" style="">Siguiente
如果有人可以告诉我如何继续抓取以下页面上的信息,我们将不胜感激。