selenium爬取京东商品信息加载失败
如图selenium爬取京东网站商品页面出现加载失败,无法加载当前页面剩余数据
主要代码如下
def get_page(driver):
content = []
for ele1 in driver.find_elements(By.CLASS_NAME,'gl-item'):
pr = ele1.find_element(By.CLASS_NAME,'p-price').text
na = ele1.find_element(By.CLASS_NAME,'p-name').text
s = ele1.find_element(By.CLASS_NAME,'p-shop').text
gid = ele1.get_attribute('data-sku')
icon = ele1.find_element(By.CLASS_NAME,'p-icons').text
content.append([gid,na,pr,s,icon])
df = pd.DataFrame(data=content,columns=['id','name','price','shop','icon'])
return df
def next(driver,p):
page = driver.find_element(By.CSS_SELECTOR,'#J_bottomPage > span.p-skip > input')
page.send_keys(Keys.BACK_SPACE)
page.send_keys(Keys.BACK_SPACE)
page.send_keys(str(p))
time.sleep(5)
page.send_keys(Keys.ENTER)
for i in range(1,101):
df1 = pd.concat([df1,get_page(driver)])
next(driver,i+1)
经过以下尝试:
增加代码等待时间
模拟页面拖动(键盘空格键向下)
driver.find_element(By.TAG_NAME,'body').send_keys(Keys.SPACE)
- 点击“重试”按钮
def pass_fresh(driver):
t = driver.find_element(By.LINK_TEXT,'重试')
ac = ActionChains(t)
time.sleep(0.5)
t.click()
time.sleep(1)
- 刷新当前页面
driver.find_element(By.TAG_NAME,'body').send_keys(Keys.F5)
多次尝试点击“重试”按钮、刷新页面仍无法加载(偶尔可以加载成功),求个解决方法。