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浏览器有 ...
随机推荐
- 手把手教你使用Python爬取西刺代理数据(下篇)
/1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...
- nginx+vue+thinkphp5.1部署,解决前端刷新404,以及前端404解决后,后台又404的问题
宝塔的话直接在网站的伪静态一栏中如下就行 location /admin { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 la ...
- (第九篇)Iptables详解
常见的网络攻击形式 1.拒绝服务攻击:DOS 2.分布式拒绝服务攻击 DDOS 3.漏洞入侵 4.口令猜测 以上内容简单了解,具体可自行百度,此处不必知晓. Linux防火墙基础 Linux防火墙体系 ...
- Winsock select server 与 client 示例代码
参考 https://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancediomethod5.html ...
- Spring Boot的exit code
文章目录 Spring Boot的exit code 自定义Exit Codes ExitCodeGenerator ExitCodeExceptionMapper ExitCodeEvent Spr ...
- Scala教程之:可扩展的scala
文章目录 隐式类 限制条件 字符串插值 s 字符串插值器 f 插值器 raw 插值器 自定义插值器 Scala是扩展的,Scala提供了一种独特的语言机制来实现这种功能: 隐式类: 允许给已有的类型添 ...
- 如何在 Amazon AWS 上设置一台 Linux 服务器
摘要: AWS(Amazon Web Services)是全球领先的云服务器提供商之一.你可以使用 AWS 平台在一分钟内设置完服务器.在 AWS 上,你可以微调服务器的许多技术细节,如 CPU 数量 ...
- Shiro(二):Spring-boot如何集成Shiro(上)
这篇文章主要介绍了spring-boot是如何集成shiro的authentication流程的. 从shiro-spring-boot-web-starter说起 shiro-spring-boot ...
- 基于国内某云的 Domain Fronting 技术实践
发布时间:2019-12-16 11:30:53 一.简介 Domain Fronting,中文译名 “域前置” 或 “域名前置”,是一种用于隐藏真实C2服务器IP且同时能伪装为与高信誉域名通信的技术 ...
- UVA-2【NOI2014】起床困难综合症
#2. [NOI2014]起床困难综合症 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过 ...