如何利用 Selenium 对已打开的浏览器进行爬虫
大家好!
在对某些网站进行爬虫时,如果该网站做了限制,必须完成登录才能展示数据,而且只能通过短信验证码才能登录
这时候,我们可以通过一个已经开启的浏览器完成登录,然后利用程序继续操作这个浏览器,即可以完成数据的爬取了
具体操作步骤如下:
1-1 安装依赖
# 安装依赖
pip3 install selenium
1-2 Chrome 应用完整路径
右键查看 Chrome 浏览器的完整路径
比如:C:\Program Files\Google\Chrome\Application\chrome.exe
1-3 命令行启动浏览器
接下来,在 CMD 终端中通过命令行启动 Chrome 浏览器
# 启动浏览器
cd C:\Program Files\Google\Chrome\Application && chrome.exe --remote-debugging-port=1234 --user-data-dir=“C:\selenum\user_data”
其中
–remote-debugging-port
指定浏览器调试端口号
PS:这里可以随机指定一个端口号,不要指定为已经被占用的端口号
–user-data-dir
用户配置文件目录
这里需要单独指定一个文件夹目录(不存在会新建),如果不显式指定该参数,运行会污染浏览器默认的配置文件
1-4 下载 ChromeDriver
根据 Chrome 浏览器版本下载对应的 ChromeDriver 驱动移动到某一个目录下
下载地址:
http://chromedriver.storage.googleapis.com/index.html
1-5 操作已打开的浏览器
假设上面开启的浏览器打开百度首页,我们现在编写一个简单的程序来继续操作上面的浏览器
注意的是,这里需要利用 debuggerAddress 指定浏览器的地址及端口号
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import Bychrome_options = Options()# 指定已经打开浏览器的地址及端口号
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:1234")# 注意:chrome版本与chromedirver驱动要保持一致
# 下载地址:http://chromedriver.storage.googleapis.com/index.html
s = Service(r"C:\Users\xingag\Desktop\111\chromedriver.exe")driver = webdriver.Chrome(service=s, options=chrome_options)# 操作浏览器
input_element = driver.find_element(By.ID, 'kw')if input_element:# 关键字input_element.send_keys("AirPython")submit_element = driver.find_element(By.ID, 'su')if submit_element:# 点击搜索submit_element.click()# 释放资源
# driver.close()
最后:如果你平时有很多问题想要解决,你的测试职业规划也需要一点光亮,你也想跟着大家一起分享探讨,我给你
推荐一个「软件测试学习交流群:746506216」 你缺的知识这里有,你少的技能这里有,你要的大牛也在这里……
资源分享【这份资料必须领取~】
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】
如何利用 Selenium 对已打开的浏览器进行爬虫相关推荐
- 如何利用 Selenium 对已打开的浏览器进行爬虫!
大家好,我是安果! 在对某些网站进行爬虫时,如果该网站做了限制,必须完成登录才能展示数据,而且只能通过短信验证码才能登录 这时候,我们可以通过一个已经开启的浏览器完成登录,然后利用程序继续操作这个浏览 ...
- 使用Selenium控制已打开的浏览器和网页
使用Selenium控制已打开的浏览器和网页 之前遇到一个需求,就是需要登录某一个网站然后需要通过selenium从网页上自动获取一些信息:该网站需要通过手机验证码登录,通过selenium自动化登录 ...
- python控制已经打开的浏览器_使用python+selenium控制手工已打开的浏览器
我们可以利用Chrome DevTools协议.它允许客户检查和调试Chrome浏览器. 打开cmd,在命令行中输入命令: chrome.exe --remote-debugging-port=922 ...
- python接管已经打开ie浏览器_使用selenium控制(接管)已打开的浏览器(chrome),并通过WebDriver值检测...
在使用selenium进行自动化测试中我们有时会遇到这样的情况: 我们需要手动打开浏览器,进入到所需的页面,执行一些手动任务,如输入表单.输入验证码,登陆成功后,然后再开始运行自动化脚本. 这种情况下 ...
- selenium 如何在已打开的浏览器上直接自动化脚本
selenium 如何在已打开的浏览器上继续运行自动化脚本? 前言: selenium测试网页每次登录都需要从头到尾登录到底,令人心烦: 此文章为直接在已打开.已登录/验证的网页运行提供方法: 一.配 ...
- Selenium Webdriver重新使用已打开的浏览器实例
本文转自:http://blog.csdn.net/wwwqjpcom/article/details/51232302 本文中的样例均使用SoapUI ,关于SoapUI+Webdriver 的配置 ...
- Selenium Webdriver重新使用已打开的浏览器实例(Chrome版)
昨天百度了半天关于Selenium Webdriver怎样重新使用已打开的浏览器的问题,就找到了这么位大佬的文章: https://blog.csdn.net/wwwqjpcom/article/de ...
- Selenium 调用IEDriverServer打开IE浏览器
Selenium 调用IEDriverServer打开IE浏览器 2016年03月30日 09:49:37 标签: selenium 14836 Selenium 调用IEDriverServer打开 ...
- python设置端口控制ie浏览器_[Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置...
无论是selenium2(WebDriver)还是selenium2Library,如果想要调用ie浏览器,均需以下步骤. 下载IEDriverServer.进入索引页,首先选择版本号,IEDrive ...
最新文章
- Debian Linux下安装配置 Pure-ftpd
- MySQL Processlist--常见线程状态
- 杭电2032杨辉三角
- 如何做一个懂产品的程序员?
- java访问类的方法_Java:如何从另一个类访问方法
- 安卓手机关闭底部键盘灯的方法(htc G11亲测有效)
- python中字母用什么表示_python中字母与ascii码的相互转换
- fir滤波器课程设计matlab,Matlab课程设计---FIR数字滤波器
- python_str 字符串的所有方法
- python使用缩进来体现-Python 使用缩进来体现代码之间的逻辑关系 .
- html中添加3dmax建模,HT for Web自定义3D模型的WebGL应用
- Linux Syslog日志服务器的搭建
- [51Nod](1278)相离的圆 ---- 二分查找
- APICloud+vue+vant实现二维码扫码功能
- sourcetree 中文版
- 【C#】VS编写简单的网游客户端
- Linux常用命令-文件操作 网络命令 性能命令
- 我的python错题本
- 题解【[AHOI2008]紧急集合 / 聚会】
- 联想服务器双系统安装教程,联想笔记本装win8/win10双系统教程
热门文章
- Cinema 4D 中的 Redshift 概述
- 1,Linux命令行设置中文显示
- 哪个软件唱歌打分测试,唱歌评分软件哪个好_唱歌评分软件电脑版
- 【转】MFC隐藏进程自身(任务管理器不可见,wSysCheck等工具可见)
- 数据库练习题:学生表(学号,姓名,性别,系部,年龄)选课表(学号,课程号,成绩)课程表(课程号,课程名,学分)...
- [详解]Twitter开源分布式自增ID算法snowflake,附演算验证过程
- 【暴力】 会长爱数学 校OJ2346
- 深入理解DRM(四)——直播流中的DRM
- IPMP认证面试互动话术(上篇)
- 三维重构 c++_最新《Science》:揭示单个纳米晶体的三维原子结构!