python - 无法抓取循环页面的内容(下一页)
问题描述
我试图用 selenium python 抓取一个分页站点。我编写的代码能够从第一页提取数据并继续到第 2 页,但它无法提取第 2 页和其余页面的内容。
我只得到了第 1 页的结果
from selenium import webdriver
import time
browser = webdriver.Chrome(executable_path='C:\Python27\Scripts\chromedriver.exe')
browser.get("https://www.etsy.com/ca/c/jewelry/necklaces" )
posts= browser.find_elements_by_class_name("text-gray")
for post in posts:
print post.text
for i in range(1,3):
u=browser.get('https://www.etsy.com/ca/c/jewelry/necklaces?ref=pagination&page=%s' % str(i))
print".................................."+ str(i)+"......................................."
time.sleep(10)
new= u.find_element_by_class_name("text-gray")
for we in new:
print we.text
这是我收到的错误消息:AttributeError: 'NoneType' object has no attribute 'find_elements_by_class_name
解决方案
尝试这个:
from selenium import webdriver
import time
browser = webdriver.Chrome(executable_path='C:\Python27\Scripts\chromedriver.exe')
browser.get("https://www.etsy.com/ca/c/jewelry/necklaces" )
posts= browser.find_elements_by_class_name("text-gray")
for post in posts:
print post.text
for i in range(1,3):
gets = 'https://www.etsy.com/ca/c/jewelry/necklaces?ref=pagination&page='+str(i)
u = browser.get(gets)
time.sleep(10)
new = u.find_element_by_class_name("text-gray")
for we in new:
print we.text
推荐阅读
- python - M. Goodrich 所著的《Python 中的数据结构和算法》一书中 Queue 类中的 dequeue 实现
- php - 最佳实践:当 datetime 为空或 null 时,从 datetime 开始的秒数
- javascript - 重复调用时仅更改一次状态
- node.js - 问题理解 async await Node.js 时间
- terraform - 帐户或密码已过期,请重置您的密码并重试 sudo:无法更改过期密码:身份验证令牌操作错误
- javascript - javascript添加日期?
- python - python aiohttp超时是针对单个TCP连接还是针对http请求?
- sql - 其他表中每个最接近的较早日期的 SQL 查找值
- .net-core - dotnet 恢复文件匹配
- r - R:插入符号包 predict.train 导致无意义的预测