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

问题描述:

新打开的页面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

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

时间: 2024-07-30 10:56:41

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

Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容

在上一篇python使用xslt提取网页数据中,要提取的内容是直接从网页的source code里拿到的. 但是对于一些Ajax或动态html, 很多时候要提取的内容是在source code找不到的,这种情况就要想办法把异步或动态加载的内容提取出来. python中可以使用selenium执行javascript,selenium可以让浏览器自动加载页面,获取需要的数据.selenium自己不带浏览器,可以使用第三方浏览器如Firefox, Chrome等,也可以使用headless浏览器如P

python下的复杂网络编程包networkx的安装及使用

由于py3.x与工具包的兼容问题,这里采用py2.7 1.python下的复杂网络编程包networkx的使用: http://blog.sina.com.cn/s/blog_720448d301018px7.html 处理1里面提到的那四个安装包还要: 2.需要安装 setuptools: http://wenku.baidu.com/link?url=XL2qKVZbDPh-XocJW7OVZmacM4Tio5YhCyu0Uw-E7CjhiXRrhSWI4xheERjEVC3olCZ8muN

(转)python下很帅气的爬虫包 - Beautiful Soup 示例

官方文档地址:http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html Beautiful Soup 相比其他的html解析有个非常重要的优势.html会被拆解为对象处理.全篇转化为字典和数组. 相比正则解析的爬虫,省略了学习正则的高成本. 相比xpath爬虫的解析,同样节约学习时间成本.虽然xpath已经简单点了.(爬虫框架Scrapy就是使用xpath) 安装 linux下可以执行 [plain] view plai

基于python语言的Selenium自动化测试

  一.Selenium简介 Selenium是一个web自动化应用测试工具,还支持所有的web的管理任务自动化.并且开源免费,也是一个web自动化轻量级框架.它支持多种浏览器.跨平台.跨操作系统.支持多种编程语言编写脚本,还能进行分布式测试用例的执行. Selenium经历三个版本,Selenium1.Selenium2.Selenium3.它不是单独的一个工具,而是由一些类库.插件.工具等组合而成.主要的工具: Selenium IDE:Selenium IDE是嵌入火狐浏览器中的一个插件,

Window 10 安装python 3.7 + selenium (附最新安装包)

一.了解python 简介:Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发. 应用领域:Web 和 Internet开发科学计算和统计教育桌面界面开发软件开发后端开发 优点:简单:Python是一种代表简单主义思想的语言.阅读一个良好的Python程序就感觉像是在读英语一样.它使你能够专注于解决问题而不是去搞明白语言本身.易学:Python极其容易上手,

软件测试之Selenium Java WebDriver

编写Selenium Java WebDriver程序,测试inputgit.csv表格中的学号和git地址的对应关系 package selenium2; import java.util.regex.Pattern; import java.util.concurrent.TimeUnit; import org.junit.*; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import o

Python PhatomJS 和Selenium动态加载页面 获取图片内容

随笔中的代码拷贝自 http://www.cnblogs.com/Albert-Lee/p/6275146.html 感谢阿里波特,通过学习自己做了一些注释,作为总结和记录. 1 from selenium import webdriver 2 import requests 3 from bs4 import BeautifulSoup 4 import os 5 import time 6 #定义函数时,尽量写上默认参数,字符='',数字=0,特殊对象也要定义默认值,这样就可以简单的通过.来

python中使用selenium的一些注意

#coding:utf-8from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChains #引入ActionChains鼠标操作类from selenium.webdriver.common.keys import Keys #引入keys类操作import time def main():    browser = webdriver.Chrome('D:\\phant

windows python easy_install ,pip. selenium

http://www.cnblogs.com/fnng/p/3157639.html 搭建平台windows 准备工具如下: unknown encoding: cp65001异常 python安装后进入命令行交互模式,输入任何代码都报unknown encoding: cp65001异常 需要将编码(UTF-8)修改为 简体中文(GBK) 在CMD窗口执行 chcp 936 ------------------------------------------------------------