如何利用 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()
推荐阅读
5 分钟,教你从零快速编写一个油猴脚本!
爬虫工具篇 - 必会用的 6 款 Chrome 插件
一个人,一座城,你到底在乎什么?Python 爬虫告诉你!
END
好文和朋友一起看~
如何利用 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 ...
最新文章
- Androidx CoordinatorLayout 和 AppBarLayout 实现折叠效果(通俗的说是粘性头效果)
- 【Python】Pandas中的宝藏函数-rank()
- 如何自动填充网页表单_iCab for Mac(web网页浏览器)
- 【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解
- Html5结合JS实现浏览器全屏功能
- boot定时任务开启和关闭 spring_Spring之定时任务实践
- 畅通工程(HDU-1232)
- 基于JavaScript的在线语音识别库Julius
- 用汇编的眼光看C++(之类继承)
- 204. Count Primes 1
- Could not find artifact com.sun:tools:jar:1.5.0 问题解决
- [转]Understanding Integration Services Package Configurations
- 配置eclipse反编译
- jeesit1.27(3)-id生成策略
- html5音乐播放器在线生成,一款极简的HTML5音乐播放器-skPlayer
- 计算机专业的学生怎样练习编程才能把编程学精通?
- C语言之for循环应用之断案篇----找凶手
- phython编写图形界面
- Pytorch-gpu版安装教程【注意:无需提前安装cuda和cudnn】
- Python 文件IO操作