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

「Python爬虫系列讲解」八、Selenium 技术

是一款用于测试 Web 应用程序的经典工具,它直接运行在浏览器中,仿佛真正的用户在操作浏览器一样,主要用于网站自动化测试、网站模拟登陆、自动操作键盘和鼠标、测试浏览器兼容性、测试网站功能等,同时也可以用于制作简易的网络爬虫...tn=78040160_5_pg&ch=8') 通过 name 值为 “ tj_login ” 锁定并单击 “登录” 按钮,跳转至登录页面 login = driver.find_element_by_name...当填写完表单后,可以通过 submit() 函数提交,或者找到提交按钮后调用 “ driver.find_element_by_id("submit").click*() ” 提交。...但不同之处在于,Selenium 能方便地操控键盘、鼠标,以及切换对话框、提交表单等。...对于目标网页需要验证登录后才能爬取,所爬取的数据位于弹出对话框中或所爬取的数据通过超链接跳转到了新的窗口等情况,Selenium 技术的优势就体现出来了,它可以通过控制鼠标模拟登录或提交表单来爬取数据,

7.3K20

数据技术|爬虫一下,百度付费文档轻松得,不用花钱,不用花钱,不用花钱!!!

安装方式:pip install selenium(下载的是3.x版本的) 在cmd窗口中输入pip指令进行下载!详细内容可以看看我们的上一篇爬虫哦!...下面的代码实现了模拟提交搜索的功能,首先等页面加载完成,然后输入到搜索框文本,点击提交,然后使用page_source打印提交后的页面的源代码。 全自动的哦,程序操控!是不是很酷炫?...不过我还是太小看百度文库的前端工程师了,这个继续阅读的按钮并不能通过selenium访问,因为它调用了js代码里的功能,而js代码我们很难找到是哪一个。...再给大家介绍一个好东西——phantomjs。 我们要做的就是python+selenium+phantomjs,一个高效稳定的爬虫就搞定了!...用法其实只需要改一下,代码中已经注释起来了: driver = webdriver.PhantomJS() 当然,千万别忘了下载phantomjs,驱动文件的导入和之前的一样。

57.7K92
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    爬虫杀手锏-PhantomJS(附案列网站模拟登录豆瓣网)

    PhantomJS:无界面的浏览器 Selenium: 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。...但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。...要想调用键盘按键操作需要引入keys包 from selenium.webdriver.common.keys import Keys # 调用环境变量指定的PhantomJS浏览器创建浏览器对象...driver = webdriver.PhantomJS() # 如果没有在环境变量指定PhantomJS位置# driver = webdriver.PhantomJS(executable_path...(driver).move_to_element(ac).context_click(ac).perform() # 在 ac 位置左键单击hold住 ac = driver.find_element_by_xpath

    1.3K20

    Selenium常见元素定位方法和操作的学习介绍

    、键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~ 前文目录: [Python爬虫] 在Windows下安装PhantomJS和CasperJS...及入门介绍(上) [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium [Python爬虫] Selenium自动访问Firefox...鼠标操作 在现实的自动化测试中关于鼠标的操作不仅仅是click()单击操作,还有很多包含在ActionChains类中的操作。...perform() 在通过调用该函数执行ActionChains中存储行为 举例如下图所示,获取通过鼠标右键另存为百度图片logo。...但是如何点击“另存为对话框”的“保存”按钮是个难点,目前刚学习阶段,境界没到无法解决。

    2.2K20

    Python+selenium模拟登录拉勾网爬取招聘信息

    详细步骤: 1、使用pip安装扩展库selenium、openpyxl。...+PhantomJS获取百度搜索结果真实链接地址;3)Python爬虫系列:使用selenium+Edge查询指定城市天气情况;4)Python借助百度搜索引擎爬取Python小屋密切相关文章 3、了解...selenium定位页面元素的方式和其他相关知识,详见:一文学会Python爬虫框架scrapy的XPath和CSS选择器语法与应用 4、分析拉勾网登录页面,定位输入账号、密码的文本框和登录按钮,以及同意...程序启动浏览器打开登录页面并输入账号、密码和自动同意用户协议/隐私政策之后,手动单击按钮“登录”,弹出验证界面,单击适当的图片,在30秒内完成验证,然后继续运行程序。...爬取数据过程中浏览器界面截图: 运行过程中IDLE环境输出: 9、运行结果,生成Excel文件:

    1.9K20

    啥是无头浏览器,都能干啥?一文说清楚

    用户键入、单击或以其他方式与页面元素交互的每个点都是可能出错的点,您最好在测试阶段发现并修复问题,而不是在几周甚至几个月后发现故障,那时投诉就会蜂拥而至。...在一个无头测试环境,你可以编写和执行脚本: 测试基本流程和可选流程 模拟单击链接和按钮 自动填写和提交表格 测试SSL性能 尝试不同的服务器负载 获取关于页面响应时间的报告 获取有用的网站代码 截屏查看结果...PhantomJS 复杂性在现代internet环境中很常见,而PhantomJS的构建就是为了使用基本的命令行测试来处理这一切。...PhantomJS能够模拟完整的导航场景,可以显示用户在浏览时可能遇到错误的所有地方。 对多种web标准的支持使得PhantomJS非常灵活和强大。...HtmlUnit是一个有用的朋友,特别是你的工作,以打造一个业务网站与优越的性能为主。 Splash 在Splash的文档中,无头浏览器被誉为轻量级浏览器,为开发人员提供了多种功能。

    1.7K10

    爬虫最终杀手锏 — PhantomJS 详解(附案例)

    认识Phantomjs 1.Phantomjs:无界面的浏览器 Selenium: 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。...但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 Phantomjs 的工具代替真实的浏览器。...要想调用键盘按键操作需要引入keys包 from selenium.webdriver.common.keys import Keys # 调用环境变量指定的Phantomjs浏览器创建浏览器对象...driver = webdriver.Phantomjs() # 如果没有在环境变量指定Phantomjs位置# driver = webdriver.Phantomjs(executable_path...(driver).move_to_element(ac).context_click(ac).perform() # 在 ac 位置左键单击hold住 ac = driver.find_element_by_xpath

    2.1K20

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

    /selenium 我们点击“Downloads”按钮下载该Selenium扩展包,解压下载的文件后,在解压目录下执行下面的命令进行安装Selenium包。...PhantomJS常用于页面自动化、网络监测、网页截屏以及无界面测试等。在官网http://phantomjs.org/下载PhantomJS解压后如图5所示。...同样可以自动搜索作者“Eastmount”的信息,哈哈~ ---- 2.鼠标操作 Selenium操作鼠标技术也常用于自动化测试中,它位于ActionChains类中,最常用的是click()函数,该函数表示单击鼠标左键操作...,或者找到提交按钮后调用下面函数提交表单。...但不同之处在于: Selenium能方便的操控键盘、鼠标以及切换对话框、提交表单等,当我们的目标网页需要验证登录之后才能爬取、所爬取的数据位于弹出来的对话框中或者所爬取的数据通过超链接跳转到了新的窗体时

    4.8K10

    七、Selenium与phantomJS----------动态页面模拟点击、网站模拟登录 每天一个小实例1(动态页面模拟点击,并爬取你想搜索的职位信息) 每天一个小实例2(模拟网站登录)我用的是

    但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。   ...() 6 7 # 如果没有在环境变量指定PhantomJS位置 8 # driver = webdriver.PhantomJS(executable_path="....button']') 6 ActionChains(driver).move_to_element(login).perform() 7 8 9 # 在 login 位置单击 10 11...(driver).move_to_element(ac).context_click(ac).perform() 20 21 # 在 login位置左键单击hold住 22 a 23 ActionChains...直接点击下拉框中的选项不一定可行。Selenium专门提供了Select类来处理下拉框。

    2.3K70

    Python爬虫(二十一)_Selenium与PhantomJS

    本章将介绍使用Selenium和PhantomJS两种工具用来加载动态数据,更多内容请参考:Python学习指南 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的...Selenium自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所有我们而已用一个叫PhantomJS的工具代替真实的浏览器。...driver = webdriver.PhantomJS() driver.set_window_size(1366, 768) #如果没有在环境变量指定PhantomJS位置 #driver = webdriver.PhantomJS...driver).move_to_element(ac).context_click(ac).perform() #在ac位置左键单击hold住 ac = driver.find_element_by_xpath...直接点击下拉框中的选项不一定可行。

    2.6K101

    selenium和phantomJS

    在实际操作的过程中,经常使用selenium和各大主流浏览器共同操作,如谷歌、火狐、IE等等,但是在selenium自动化测试发展过程中,有一个特殊的浏览器经常用于和它配合使用,就是比较出名的无界面浏览器...爬虫、selenium、phantomJS 这时候问题就来了,爬虫中,为什么要涉及到selenium测试工具和无界面浏览器这样的东东呢?...[服务器老李在请求参数中,添加了一个加密字段,如果参数中包含了正确的加密字段,就允许访问数据,如果参数中没有标注则拒绝访问] 老王已经饿了太多天了 老王找到了传说中的某个大师,跟他学了旷古绝技,于是在某个艳阳高照的晴天...无界面浏览器,通过selenium测试工具发送请求操作访问过程获取数据 准备工作:selenium和PhantomJS phantomjs:一个独立的无界面浏览器,并不是python模块,所以需要单独下载安装...csdn登录网页 * 填写账号、密码,点击登录 * 进入CSDN主页 selenium配合phantomjs完成登录操作,并保存数据到文件中 # coding:utf-8 from selenium

    77920

    爬虫0050:selenium & phantomJS 无界神器selenium和phantomJS

    selenium和phantomJS 目录清单 selenium和phantomjs概述 selenium常用API 案例操作:模拟登陆csdn 课程内容 1. selenium和phantomJS是什么东西...在实际操作的过程中,经常使用selenium和各大主流浏览器共同操作,如谷歌、火狐、IE等等,但是在selenium自动化测试发展过程中,有一个特殊的浏览器经常用于和它配合使用,就是比较出名的无界面浏览器...爬虫、selenium、phantomJS 这时候问题就来了,爬虫中,为什么要涉及到selenium测试工具和无界面浏览器这样的东东呢?...无界面浏览器,通过selenium测试工具发送请求操作访问过程获取数据 准备工作:selenium和PhantomJS phantomjs:一个独立的无界面浏览器,并不是python模块,所以需要单独下载安装...登录网页 填写账号、密码,点击登录 进入CSDN主页 selenium配合phantomjs完成登录操作,并保存数据到文件中 # coding:utf-8 from selenium import webdriver

    1K10

    2018-06-06selenium和phantomJS

    selenium和phantomJS ——编辑:大牧莫邪 目录清单 [x] . selenium和phantomjs概述 [x] . selenium常用API [x] ....在实际操作的过程中,经常使用selenium和各大主流浏览器共同操作,如谷歌、火狐、IE等等,但是在selenium自动化测试发展过程中,有一个特殊的浏览器经常用于和它配合使用,就是比较出名的无界面浏览器...爬虫、selenium、phantomJS 这时候问题就来了,爬虫中,为什么要涉及到selenium测试工具和无界面浏览器这样的东东呢?...无界面浏览器,通过selenium测试工具发送请求操作访问过程获取数据 准备工作:selenium和PhantomJS phantomjs:一个独立的无界面浏览器,并不是python模块,所以需要单独下载安装...登录网页 填写账号、密码,点击登录 进入CSDN主页 selenium配合phantomjs完成登录操作,并保存数据到文件中 # coding:utf-8 from selenium import webdriver

    73910

    使用selenium自动化操作浏览器

    selenium是一个浏览器自动测试工具,通过驱动程序来自动化操作对应的浏览器,包括了打开浏览器窗口,定位元素,点击按钮,上传文件等操作,支持以下多款主流浏览器 ?...在浏览器之中,有一个特殊的浏览器,称之为无头浏览器PhantomJS, 是一个没有GUI界面的浏览器,原生支持命令行运行模式,非常实用linux服务器上的自动化。...但是随着该项目没人进一步维护,以及谷歌和火狐浏览器对于无头模式,即headless模式的支持,在python的selenium模块中,更推荐使用火狐和谷歌浏览器。...在爬虫程序中,通过自动化操作浏览器,来模拟真实用户的浏览操作,避开了动态资源解析的难点,使得程序的结果和我们在浏览器中获得的结果完全一致,所以selenium是爬虫的一大利器,是解决动态页面的终极武器,...通过selenium模块,还可以实现以下操作 1. 定位元素,就是查找html中的特定元素 2. 操作元素,进行下拉列表的选择,文本框的输入,按钮的提交等操作 1.

    96720

    Python模拟登录的几种方法(转)

    从响应中得到cookie,今后在访问其他页面时也带上这个cookie,就能得到只有登录后才能看到的页面。 具体步骤: 1.找出表单提交到的页面 还是要利用浏览器的开发者工具。...在Python中可以使用Selenium库来调用浏览器,写在代码里的操作(打开网页、点击……)会变成浏览器忠实地执行。...具体步骤: 1.安装selenium库、PhantomJS浏览器 2.在源代码中找到登录时的输入文本框、按钮这些元素 因为要在无头浏览器中进行操作,所以就要先找到输入框,才能输入信息。...找到登录按钮,才能点击它。 在浏览器中打开填写用户名密码的页面,将光标移动到输入用户名的文本框,右键,选择“审查元素”,就可以在右边的网页源代码中看到文本框是哪个元素。...同理,可以在源代码中找到输入密码的文本框、登录按钮。 ? 3.考虑如何在程序中找到上述元素 Selenium库提供了find_element(s)_by_xxx的方法来找到网页中的输入框、按钮等元素。

    1.5K30

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

    一、准备工作   模拟浏览器需要用到两个工具:   1.selenium,可直接通过pip install selenium进行安装。   ...2.PhantomJS,这是一个无界面的,可脚本编程的WebKit浏览器引擎,百度进行搜索,在其官网下进行下载,下载后无需安装,放到指定路径下,在使用时只需指定文件所在路径即可。...在这个网站中,点击下一页页面的url不发生变化,是通过执行一段js代码更新页面的。因此本文思想就是利用selenium模拟浏览器进行点击,点击“下一页”后页面数据进行更新,获取更新后的页面数据即可。...selenium的功能非常强大,用在爬虫上能够解决很多一般爬虫解决不了的问题,它可以模拟点击、鼠标移动,可以提交表单(应用如:登陆邮箱账号、登陆wifi等,网上有很多实例,本人暂时还没有尝试过),当你遇到一些非常规的网站数据爬取起来非常棘手时...,不妨尝试一下selenium+phantomjs。

    3.3K30

    《手把手带你学爬虫──初级篇》第5课 Selenium WebDriver的用法

    将`phantomjs.exe`所在目录增加到环境变量中 Mac OS X系统安装方法: 建议使用HomeBrew工具进行安装: brew install phantomjs Selenium用法 体验入门...首先,我们在ipython中,测试一下Selenium调用WebDriver的API,驱动Chrome浏览器打开我的博客首页的用法: # 导入WebDriver的模块 In [2]: from selenium...鼠标") # 清除input中的护具 In [29]: ele_input.clear() # 输入数据 In [30]: ele_input.send_keys("鼠标") # 让submit提交按钮进行点击操作...无头浏览器的用法 其实PhantomJS在爬虫中的应用非常简单,只需用WebDriver驱动PhantomJS即可,回到ipython环境中: In [143]: browser = webdriver.PhantomJS...元素操作 方法 含义 element.clear() 如果可以的话,清除元素的内容 element.send_keys() 在元素上模拟按键输入 element.click() 单击元素 element.submit

    2.7K32
    领券