Python+Selenium+Chrome 的一个案例
第一步,下载chromeDrive:http://npm.taobao.org/mirrors/chromedriver(我下载的是2.43版本的chromedriver_win32.zip)
下载之后,把chromedriver.exe 解压到安装JetBrains PyCharm 2018.2.4 x64的路径下。
第二步,在JetBrains PyCharm 2018.2.4 x64 工具中下载selenium库,具体如何下载,请看我的博客"JetBrains PyCharm 2018.2.4 x64 工具里如何安装bs4"。
第三步:自动打开chrome浏览器
- from selenium import webdriver
- from selenium.webdriver.common.keys import Keys
- dest = r"F:\python\chromedriver.exe" #chromedriver本地保存的路径
- '''
实例化webdriver时,可以通过参数对浏览器做些设置,如设置网络代理、浏览器下载文件保存路径等。若是不传参数,则默认继承本地浏览器设置,
若是对浏览器启动时属性进行设置,则就利用到了ChromeOption类。具体信息可参考chromedriver官网。“Python+Selenium+第三方浏览器”可以处理多种爬虫场景,
包括静态页面,post表单,以及JS等。应用场景很强大,使用selenium操作浏览器进行模拟点击的方式就可以让我们省心很多,不需要担心有什么“隐藏字段”、cookie追踪等。
但对于包含验证码网页的操作,这种方式也不好处理,主要困难在于图像识别。若是页面包含验证码,那就需要结合图像识别工具了,
这种情况相对也比较难处理,图像识别准确率受到图片内容影响。
'''
- def init_webdriver(proxy=False):
''' 设置浏览器默认下载路径 '''
PROXY ="x.x.x.x;8080"
options =webdriver.ChromeOptions()
options.add_experimental_option("prefs", { "download.default.directory": r"F:\python\download", "safebrowsing.enabled":True })
if proxy:
options.add_argument('--proxy-seerver=%s'% PROXY)
driver = webdriver.Chrome(executable_path=dest, chrome_options=options)
return driver- if __name__ == "__main__":
browser_driver =init_webdriver(True)
browser_driver.get("https://connect.microsoft.com/site1304/Downloads")
print ("客户端会完成重定向,跳转到登录界面")- if "login." in browser_driver.current_url:
print("获取登录框元素")
elem = browser_driver.find_element_by_name("loginfmt")
print("清空登录框内容")
elem.clear()
print("在账户框中输出账号,并回车,完成页面跳转")
elem.send_keys("current_key:"+Keys.RETURN)
Python+Selenium+Chrome 的一个案例的更多相关文章
- Python selenium chrome 环境配置
Python selenium chrome 环境配置 一.参考文章: 1. 记录一下python easy_install和pip安装地址和方法 http://heipark.iteye.com/b ...
- Python selenium chrome打包exe后禁用控制台输出滚动日志
Python selenium chrome打包exe后,在运行的过程中,如果遇到需要input()输入时,会发现被不断滚动刷新的日志把命令行输入快速顶掉了,通过查阅资料不断实践,发现以下方法有效: ...
- python+selenium遍历某一个标签中的内容
一.python+selenium遍历某一个标签中的内容 举个例子:我要获取列表标签<li></li>的内容 根据python+selenium定位到列表整体,使用for循环获 ...
- python+selenium+Chrome options参数
python+selenium+Chrome options参数 Chrome Options常用的行为一般有以下几种: 禁止图片和视频的加载:提升网页加载速度. 添加代理:用于翻墙访问某些页面,或者 ...
- Docker环境下运行python+selenium+chrome
Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...
- Python + Selenium +Chrome 批量下载网页代码修改【新手必学】
Python + Selenium +Chrome 批量下载网页代码修改主要修改以下代码可以调用 本地的 user-agent.txt 和 cookie.txt来达到在登陆状态下 批量打开并下载网页, ...
- 在Centos7上安装Python+Selenium+Chrome+Chromedriver
1.下载Chrome 上一篇文章已经演示过了Python+Selenium+Firefox+Geckodriver安装步骤并通过自动化脚本打开百度 因此当前只需要安装Chrome和Chromedriv ...
- python+selenium+unnitest写一个完整的登陆的验证
import unittest from selenium import webdriver from time import sleep class lonInTest (unittest.Test ...
- chrome浏览器爬虫WebDriverException解决采用python + selenium + chrome + headless模式
WebDriverException: Message: unknown error: Chrome failed to start: crashed 第一种:如果出现下面情况: chrome浏览器有 ...
随机推荐
- 为何 UNIX 时间 0, 有时显示是1970年1月1日,有时显示是1969年12月31日
by Rachael Arnold http://www.rachaelarnold.com/dev/archive/why-is-date-returning-wrong Demystifying ...
- [Inno Setup] 开机自启动
[icons] Name: "{userstartup}\My Program"; Filename: "{app}\MyProg.exe"; Tasks:St ...
- js 实现图片瀑布流效果,可更改配置参数 带完整版解析代码[waterFall.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS实现图片瀑布流效果 页面需求 1 ...
- java 设计模式-责任链
责任链设计模式,其实就是处理同一个请求的对象连接成一条链,请求的路径经过这条链,符合要求的就处理这个请求,不符合就接着往下面抛出,直道有人处理这条请求. 业务:比如啊,公司个人请假,三天以下就是主管审 ...
- 关于Python的JSON
1.json模块load/loads.dump/dumps区别:(摘自这里) 实际上json就是python字典的字符串表示,但是字典作为一个复杂对象是无法直接转换成定义它的代码的字符串,python ...
- 数学--数论-- HDU 2601 An easy problem(约束和)
Problem Description When Teddy was a child , he was always thinking about some simple math problems ...
- 图论--2-SAT--HDU/HDOJ 1814 Peaceful Commission
Peaceful Commission Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 利用github的webhook进行自动部署
利用github的webhook进行自动部署 github提供了webhook功能,大概意思就是,当你提交了代码,git检测到你进行了push,可以调起你一个你知道的url. 这个功能有什么用了?比如 ...
- IDEA2020版使用
idea2020版本出来了,不知道小伙伴使用了吗?是不是还在为激活而烦恼呢?我来给小伙伴解决烦恼了,直接上硬货,解决方法我是在B站找到,所以分享出来! 1.直接进IDEA官网下载最近的idea,官网连 ...
- Flutter 1.17版本重磅发布
Flutter 1.17 是2020年的第一个稳定版本,此版本包括iOS平台Metal支持(性能更快),新的Material组件,新的Network跟踪工具等等! 对所有人来说,今年是充满挑战的一年. ...