selenium:使用已打开的chrome浏览器
前言
- 环境参考 selenium:我的第一个程序
- 使用已打开的chrome浏览器有啥好处
- 不用验证登陆状态,可以先登陆,再爬虫
- 不用反复开浏览器
开启命令行启动 chrome.exe
- 找到 chrome 安装目录。一般为
C:\Program Files (x86)\Google\Chrome\Application
。 - 打开 windows cmd 进入chrome安装目录。
cd C:\Program Files (x86)\Google\Chrome\Application
- 启动 chrome 程序,同时开启 remote-debugging-port 参数。
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\chrome_userdata"
编写程序
创建项目
在 Eclipse 中创建名为 02-UseOpenedChrome 的Maven项目。
添加依赖。
可以参考 selenium:我的第一个程序。
贴一下POM:
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>net.sayyy.sample.selenium</groupId><artifactId>02-UseOpenedChrome</artifactId><version>1.0</version><properties><java.version>1.8</java.version><charset>UTF-8</charset><!-- javac -source --><maven.compiler.source>${java.version}</maven.compiler.source><!-- javac -target --><maven.compiler.target>${java.version}</maven.compiler.target><!-- 编译时的编码 --><maven.compiler.encoding>${charset}</maven.compiler.encoding><project.build.sourceEncoding>${charset}</project.build.sourceEncoding><project.reporting.outputEncoding>${charset}</project.reporting.outputEncoding></properties><dependencies><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.9.1</version></dependency></dependencies>
</project>
编写 StartWebDriver 类
package net.sayyy.sample.selenium;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;public class StartWebDriver {public static void main(String[] args) {System.setProperty("webdriver.chrome.driver", "C:\\selenum\\chromedriver_win32_80\\chromedriver.exe"); ChromeOptions options = new ChromeOptions();options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222"); //(1)WebDriver driver = new ChromeDriver(options);try {driver.get("https://taobao.com");} catch (Exception e) {e.printStackTrace();} finally {driver.quit(); //(2)}}}
(1) 设置debuggerAddress。
(2) 退出 driver 。因为chrome不是driver创建的,所以退出driver不会关闭chrome。
启动 StartWebDriver 类
启动后效果与 selenium:我的第一个程序 一样。
结尾
至此完成了程序。
代码参考: https://gitee.com/sayyy/sample-selenium-java/tree/master/02-UseOpenedChrome
selenium:使用已打开的chrome浏览器相关推荐
- Selenium控制已打开的Chrome浏览器
文章目录 1.方法一 1.1.设置Chrome属性 1.2.编写代码 2.方法二 1.方法一 1.1.设置Chrome属性 Chromen属性,快捷方式标签下,目标后面加上参数 --remote-de ...
- selenium连接已打开的Firefox浏览器
原理:将session_id和url进行记录,下次打开firefox浏览器进行复用 import os,pickle,json,win32api from selenium import webdri ...
- mac selenium 连接已经打开的chrome浏览器
今天在mac环境下尝试了一下用selenium连接现有的服务器,本来想绕过某宝的反爬虫机制的,但是并没有什么用,但是这个技术不错,我这里分享一下实现过程. 添加环境变量 export PATH=&qu ...
- Mac 解决selenium调试每次打开新Chrome浏览器问题
文章目录 配置chrome 连接浏览器 配置chrome open -e ~/.zshrc 在结尾添加: export PATH="/Applications/Google Chrome.a ...
- selenium 自动打开Chrome浏览器且重复使用已打开的Chrome实例
好处还能有啥?就是偷懒呗,打开脚本就跑,还管浏览器干啥. 如何使用已打开Chrome,其他文章讲很多了,也不多说,这里主要参考的这片文章 selenium 使用已打开的chrome浏览器_YeLang ...
- 使用Selenium控制已打开的浏览器和网页
使用Selenium控制已打开的浏览器和网页 之前遇到一个需求,就是需要登录某一个网站然后需要通过selenium从网页上自动获取一些信息:该网站需要通过手机验证码登录,通过selenium自动化登录 ...
- 【Selenium】控制当前已经打开的 chrome浏览器窗口(高级版)
前言 利用 Selenium 获取已经打开的浏览器窗口,全python操作 标题 链接 [Selenium]控制当前已经打开的 chrome浏览器窗口 https://blog.csdn.net/we ...
- 【Selenium】控制当前已经打开的 chrome浏览器窗口
前言 有过几个小伙伴问过我如何利用 Selenium 获取已经打开的浏览器窗口,这里给安排了,还安排了两篇. 标题 链接 [Selenium]控制当前已经打开的 chrome浏览器窗口 https:/ ...
- linux打开浏览器密码取消,Deepin下打开谷歌chrome浏览器提示解锁登录密钥环的解决方法...
在Deepin Linux系统下打开谷歌chrome浏览器都提示解锁登录密钥环,每次登录打开浏览器都会提醒(解锁登录密钥环:输入密码以解锁您的登录密钥环,您用于登录计算机的密码与您的登录密钥环中的密码 ...
最新文章
- Eclipse设置背景色、字体大小
- Test Article
- 从电子电路到嵌入式系统(开篇)
- 图谱论(Spectral Graph Theory)基础
- 关于折半查找的细节思考
- PyCharm2018 汉化激活
- c# 调用jtts_Java与C#开发上的一些差异与转换方法
- android applock 源码,AppLock | F-Droid - Free and Open Source Android App Repository
- Failed to sync vcpu reg
- 读书笔记,《反脆弱》,第四章,杀死我的东西却让其他人更强壮
- 华为实习面经(技术面+主管面)
- 服务器系统怎么添加网络打印机,如何添加网络打印机
- 大数据和云计算技术周报(第7期)
- 决策力--用别人预测自己(3)
- word中mathtype公式编辑
- 算法题(2)力扣第n位数字
- 计算机技术相关职业资格证书,关于对持有计算机信息高新技术考试合格证书人员配发国家职业资格证书的通知...
- 解读GDPR | 你应该知道的那些事儿
- springboot zipkin调用链
- OpenBSD,FreeBSD,Linux硬盘速度对比
热门文章
- Karma和Jasmine自动化单元测试
- getContextPath、getServletPath、getRequestURI的区别
- 自动安装 Java Access Bridge 2.0.2 的批处理脚本
- vs2015 编译时错误列表中没有错误,dll却没有生成出来
- 关于错误提示:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案...
- EasyUI Tree判断节点是否是叶
- 在服务器上使用第三方独立组件对Word/Excel进行编程
- Xshell无法启动:要继续使用此程序,您必须应用最新的更新或使用新版本
- Apache与Nginx比较(Nginx 高并发情况常用,必须学习)
- 反思一次线上bug的修改:没法看数据表的一次线上问题处理