码迷,mamicode.com
首页 > 编程语言 > 详细

python下用selenium的webdriver包如何在执行完点击下一页后没有获得下一页新打开页面的html源代码

时间:2020-02-22 22:05:14      阅读:331      评论:0      收藏:0      [点我收藏+]

标签:col   获取   span   lag   inf   切换   style   数据   webdriver   

问题描述:

新打开的页面url不变,只是网页内容变了,然后使用drive.page_source得到的都是第一页的html代码,并不是当前页面的html代码。

1.

 原因:webdriver仍默认在原页面下获取标签等信息;

解决方法:采用切换页面句柄的方式解决;

2.

 原因:缺少time.sleep(1),如果短了就无法正常获取数据,所以检查适当位置是否有停留

def get_info(num):
    driver.get(url)
    driver.implicitly_wait(10)  # 隐式等待n秒,解释JavaScript是需要时间的,如果短了就无法正常获取数据,如果长了浪费时间;implicitly_wait()给定时间智能等待
    driver.find_element_by_id(pageNum).clear()#清除输入框
    driver.find_element_by_xpath(//*[@id="pageNum"]).send_keys(num)#输入页数
    driver.find_element_by_xpath(//*[@id="judgeFlag"]/a).click()#单击确认框
    html = driver.page_source
    return html

 

解决方法:

 加time.sleep(1)   注意:如果sleep时间短的话也不行

def get_info(num):
    driver.get(url)
    driver.implicitly_wait(10)  # 隐式等待n秒,解释JavaScript是需要时间的,如果短了就无法正常获取数据,如果长了浪费时间;implicitly_wait()给定时间智能等待
    driver.find_element_by_id(pageNum).clear()#清除输入框
    driver.find_element_by_xpath(//*[@id="pageNum"]).send_keys(num)#输入页数
    driver.find_element_by_xpath(//*[@id="judgeFlag"]/a).click()#单击确认框
    time.sleep(1)#一定要停一下,否则加载不出来一直输出第一页
    html = driver.page_source
    return html

 

python下用selenium的webdriver包如何在执行完点击下一页后没有获得下一页新打开页面的html源代码

标签:col   获取   span   lag   inf   切换   style   数据   webdriver   

原文地址:https://www.cnblogs.com/sengzhao666/p/12344369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!