首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python下利用Selenium获取动态页面数据

来源:http://www.51testing.com   利用python爬取网站数据非常便捷,效率非常高,但是常用的一般都是使用BeautifSoup、requests搭配组合抓取静态页面(即网页上显示的数据都可以在...使用selenium模拟浏览器行为更新网页获取更新后的数据。本文接下来着重讲述这种方法。...在这个网站中,点击下一页页面的url不发生变化,是通过执行一段js代码更新页面的。因此本文思想就是利用selenium模拟浏览器进行点击,点击“下一页”后页面数据进行更新,获取更新后的页面数据即可。...phantomjs,网上也有人用firefox,chrome,但是我没有成功,用这个挺方便   driver =webdriver.PhantomJS(executable_path="C:/phantomjs.exe...xmlname=1465594312346','yzc'] # yzc为文件名,此处输入中文会报错,前面加u不行,只好保存后手动改文件名……   getData(url) # 调用函数   本文中获取下一页的位置是通过

3.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

Selenium与PhantomJS

Selenium 可以根据我们的指令,让浏览器自动加载页面获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。...PyPI网站下载 Selenium库 https://pypi.python.org/simple/selenium可以用 第三方管理器 pip用命令安装:pip install selenium...因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...PhantomJS 官方参考文档:http://phantomjs.org/documentation # 2.2 python3使用的浏览器 随着Python3的普及,Selenium3跟上了行程。...driver.save_screenshot("python爬虫.png") # 获取当前url print(driver.current_url) # 关闭当前页面,如果只有一个页面,会关闭浏览器

1.1K20

《手把手教你》系列练习篇之4-python+ selenium自动化测试(详细教程)

简介   今天我们继续前边的练习,学习和练习一下:如何使用webdriver方法获取当前测试页面的URL、如何获取当前页面的title、如何打开浏览器的一个新建页面、如何操作单选按钮等等,这些小练习,来巩固基础...2. webdriver方法获取当前测试页面的URL   本小节介绍如何通过webdriver方法获取当前测试页面的URL。...获取当前URL有什么用处呢,一般URL可以帮助我们判断跳转的页面是否正确,或者URL中部分字段可以作为我们自动化测试脚本期待结果的一部分。...获取当前页面的title   本小节介绍了如何获取当前页面的URL的值,本文介绍如何获取当前页面的title,这个可以作为测试结果的依据,通过得到的title和预期的值对比,可以支持我们判断页面跳转正确...6.2 geckodriver和selenium版本不兼容报错 这个有的人认为是浏览器和浏览器驱动的版本不匹配会报这个错误。

1.5K30

爬虫系列(9)爬虫的多线程理论以及动态数据的获取方法。

Selenium 可以根据我们的指令,让浏览器自动加载页面获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。...PyPI网站下载 Selenium库 https://pypi.python.org/simple/selenium可以用 第三方管理器 pip用命令安装:pip install selenium...因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...PhantomJS 官方参考文档:http://phantomjs.org/documentation 2.2 python3使用的浏览器 随着Python3的普及,Selenium3跟上了行程。...driver.save_screenshot("python爬虫.png") # 获取当前url print(driver.current_url) # 关闭当前页面,如果只有一个页面,会关闭浏览器

2.4K30

九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、鼠标操作)

Python语言提供了Selenium扩展包,它是使用Selenium WebDriver(网页驱动)来编写功能、验证测试的一个API接口。...同时,作者更推荐大家使用pip工具来安装Selenium库,PyPI官方推荐使用pip管理器来下载第三方库。Python3.6标准库中自带pip,Python2.x需要自己单独安装。...假设需要通过id属性定位页面中的杜甫、李商隐、杜牧三个超链接,HTML核心代码如下: 如果需要获取div布局,则使用如下代码: test_div = driver.find_element_by_id...,partial表示部分匹配,获取多个元素的方法则使用: find_elements_by_partial_link_text() 代码运行截图如图10所示,其中地址可以为放在本地Apache服务器中的...但需要注意,由于部分页面是动态加载的,而实际操作时可能无法捕获其节点,同时百度网页的HTML源码不定期变化,但是其原理知识更为重要,希望读者掌握类似的分析方法,在后面爬取微博、知乎、B站等案例时,再结合实例详细讲解自动登录爬虫

4.5K10

自动化测试中对Alert, 多窗口,下拉框的处理

1 pythonselenium的API交互 1.1 alert selenium的API提供了对alert弹出框的处理方式,可以对alert弹出框来进行处理的,如弹出框,我们获取弹出框的Text...printdriver.switch_to_alert().dismiss() driver.quit() 4.1.1 alert alert是一种警告框,自动化的测试中,对alert的,一般获取...,或者点击XX链接,还会弹出一些子窗口,在手工测试中,可以很轻松的实现在多个窗口之间进行切换操作,很幸运的,selenium提供了处理的过程,处理的过程是先获取到所有的窗口句柄,再获取到当前窗口的句柄...,跳转到一个新的页面,这样至少产生了二个页面,而利用current_window_handle和window_handles就可以解决该问题,可以在当前窗口进行操作,可以在新的页面进行操作。...: 1、 在当前页面,先获取当前页面窗口的句柄; 2、 点击跳转到新的页面获取所有窗口句柄; 3、 使用if判断是在当前窗口还是在新的窗口,判断不是当前窗口,在新的窗口操作,操作完成后,关闭新的窗口;

3.1K40

python自动化环境搭建

,如c#,java,python等,selenium可以针对最现代的web浏览器运行测试,如firefox,chrome,ie,open等浏览器,selenium可以在windows,linux等平台上部署...python加到path的环境变量,这样python安装的时候,自动安装setuptools和pip。...5、监测selenium环境 运行cmd,输入python进入到dos下的python环境,输入: from seleniumimport webdriver 无任何的错误提示信息,表示selenium...1.3Firebug的使用 打开firefox的浏览器,点击工具下拉栏的“附加组件”,在附加组件搜索输入框输入firebug,搜索到后,点击右边栏的安装,安装完成后,重新启动firefox的浏览器,就会在...点击该图标,浏览器下端就会显示调试的窗口,见截图: 点击,鼠标移动到百度搜索输入框,就可以看到如下的截图,显示搜索输入框的ID等元素,见截图: 依据截图,我们可以获取到百度搜索输入框的id为kw 在

2.1K30

Playwright 和 Selenium 的区别是什么?

也有同学之前可能没学过 selenium ,现在正准备入手一个web 自动化框架,但是对于选择selenium 和 playwright 犹豫不决,因为面试问selenium比较多,可能学了工作中用不上...2 用户群体 出现的比较晚,用户量相对少 出现的早,用户量多 Selenium 3 支持语言 TypeScript、JavaScript、Python、.NET、Java C#,Java,Perl,PHP...,Python 和Ruby Selenium 4 支持浏览器 Chromium(包含chrome, msedge)、WebKit 和 Firefox IE(7, 8, 9, 10, 11),Firefox...无痕模式 默认无痕模式,对应测试很有帮助,对于爬虫用户可能访问页面不通过 默认非无痕默认,爬虫用户特别喜欢 Selenium 12 页面等待 wait_for_load_state可以精准等待commit...分布式 Selenium 35 协议 websockt 协议,可以实时获取页面状态 http 协议,只能获取当时的状态,需自己轮询判断 Playwright 36 执行JavaScript 可以在page

44410

爬虫篇 | 学习Selenium使用Selenium模拟登录知乎

爬虫篇 | Python使用正则来爬取豆瓣图书数据 爬虫篇 | 不会这几个库,都不敢说我会Python爬虫 爬虫篇 | Python现学现用xpath爬取豆瓣音乐 爬虫篇 | Python最重要与重用的库...Request 爬虫篇 | Python爬虫学前普及 基础篇 | Python基础部分 现在开始要学习使用Python进行动态爬虫了,而Selenium是来进行动态爬虫的一种工具 介绍Selenium...众所周知很多网站的内容需要登录后能去获取他们的内容,这个时候我们就需要先登录进去,所以就有了这篇模拟登录文章 模拟登录我们要使用selenium 自动化测试工具,这个工具需要另行安装,如果你是使用...pycharm,你可以直接去setting中点击一键安装selenium, 然后还要去下载浏览器驱动,这里我推荐使用Firefox,因为相对Chrome来说,它是没有版本限制的,不容易出错....Firefox 直接百度就能下载,有一个推荐下载的, Firefox的驱动可以百度一下 Geckodriver 下载后安装,最后要记得设置环境变量,不然带来一系列麻烦与错误的,所以这里切记一定要设置

1.5K51

selenium之 坑(StaleElementReferenceException: Message: Element not found in the cache...)

原因就在这里:你点击第二个时已经是新页面,当然找不到之前页面的元素。这时,他问“可是明明元素就在那里,没有变,甚至我是回退回来的,页面都没有变,怎么会说是新页面?”。...我们来试试看: 代码: # -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() driver.get...,两次的element id是不同的,也就是说这是两个不同的元素,如果你用以下的方式来定位,自然因为找不到而报错: # -*- coding: utf-8 -*- from selenium import...原因很明显,你用别人的身份证id去找现在的人,哪怕这两个人长得很像,他告诉你:对不起,你找错人了。...很简单: 只要刷新页面之后重新获取元素就行,不要提前获取一组元素,然后去循环操作每一个元素,这种情况还是获取元素的个数,然后在循环中获取相应位置的元素,在用的时候才去获取,这样你就获取到最新的id了,不会出现找错人的尴尬了

1.1K10

Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取

虽然您编写的一些程序执行大量的任务来节省您的时间,但使用一个每次执行一个普通任务(如获取一个地址的地图)时都可以方便地节省您几秒钟的程序同样令人满意。...第一步:获取命令行参数,请求搜索页面 在编写任何代码之前,您首先需要知道搜索结果页面的 URL。通过搜索后查看浏览器的地址栏,可以看到结果页面有一个类似于pypi.org/search/?...过一段时间后,这些网站可能拒绝为你提供页面,破坏你制作的任何脚本。selenium模块比requests更有可能在这些网站上长期运行。...') 你注意到当webdriver.Firefox()被调用时,Firefox 网络浏览器启动。...如果你安装了浏览器驱动程序,你可以控制 Firefox 以外的浏览器。

8.7K70

python爬虫滑动验证码_python爬虫爬取京东优惠线报

我们要获取到用户名输入框、密码输入框以及登陆按钮即可。 【插入图片,用户登陆框】 下面看一下实现的代码,假设我们通过FireFox浏览器模拟登陆吧。...vip页面的url=’https://vip.jd.com/home.html‘ 但是要登陆vip页面的话,还是跳转到第一步的那个登陆页面,我们利用第一步的方法登陆即可。...【插入图片,签到页面】 签到的链接在右侧,我们获取到这个链接点击就行了。 【插入图片,签到链接】 这个标签很简单。...except TimeoutException: user_singin() 前面的代码跟上面是一样的,只不过要获取到签到的标签。 这种登陆方式基本上可以用于任何网站,只不过做一些修改就可以了。...总结 以上所述是小编给大家介绍的利用python Selenium实现自动登陆京东签到领金币功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编及时回复大家的。

54530
领券