selenium还能这么玩:连接手动打开的浏览器

这篇具有很好参考价值的文章主要介绍了selenium还能这么玩:连接手动打开的浏览器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

粉丝交流群已开放,不定期分享面试题和视频教程,点击文末公众号加群。

测试和爬虫对selenium并不会陌生,现有的教程已经非常多。但是因为 selenium 封装的方法比较底层,所以灵活性非常高,我们可以基于这种灵活性来实现非常丰富的定制功能。

这篇文章介绍一个操作,可以让 selenium 连接我们手动打开的浏览器。他的应用场景主要是:你可以通过手工先实现一些自动化难处理的操作,让 selenium 绕过这些复杂操作,然后再执行自动化。

自动化的时候经常头痛的扫码登录,可以通过这种方式绕过,短期无法解决的验证码的识别,也可以通过这种方式绕过。

手工打开浏览器

可能有的小伙伴不知道,打开浏览器有两种方式:图标点击和命令行运行。

图标点击不用多说,我们经常使用这种方式打开浏览器。命令行方式允许我啰嗦一句,找到浏览器的安装目录,在安装目录中输入 chrome.exe 就可以了。 比如我的 chrome 浏览器安装在 C:\Program Files (x86)\Google\Chrome\Application 这个路径,则在这个目录下打开 cmd 命令行,输入 chrome.exe,就可以打开一个浏览器。
selenium还能这么玩:连接手动打开的浏览器

浏览器配置参数

我们还可以在浏览器打开的时候设置额外的参数,为它提供不同的功能。 通过 selenium 连接浏览器,需要用到两个参数 --remote-debugging-port 和 --user-data-dir ,其他 chrome 参数如果感兴趣可以查看 peter.sh 的博客, 英语不好的可以看 中文版。

  • --remote-debugging-port 这个参数允许我们通过远程的方式连接,selenium 当然也可以。
  • --user-data-dir 这个参数指定一个独立的目录存放产生的用户数据,在连接时也要设置,否则会失效。

现在我们可以通过以下命令行打开浏览器:

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenium\ChromeProfile"

打开后做两件事情:
1、在浏览器地址栏输入 http://localhost:9222/json/list ,可以查看到浏览器的一些信息。
2、打开本地的 C:\selenium\ChromeProfile 目录,会出现很多子文件。
selenium还能这么玩:连接手动打开的浏览器

快捷方式设置参数

手工打开用命令行比较用得少,界面照样可以配置参数。在 chrome 的快捷方式上右击,选择属性,快捷方式的目标栏后面加空格加上:

--remote-debugging-port=9222 --user-data-dir="C:\selenium\ChromeProfile"

selenium还能这么玩:连接手动打开的浏览器
现在,单击快捷方式打开的浏览器也可以通过远程调试了。

selenium 连接浏览器

有了远程调试地址,selenium 连接浏览器就变的很简单,只需要加 2 行代码。 创建一个选项,绑定debuggerAddress 远程调试地址。 此时就可以用 selenium 控制之前手工打开的浏览器了。

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(options=chrome_options)
print(driver.title)

效果:
selenium还能这么玩:连接手动打开的浏览器文章来源地址https://www.toymoban.com/news/detail-459869.html

  • 你已经阅读完本文所有内容。
  • 相信你一定是个耐心和踏实的人,也是一个可交的朋友。
  • 如果你有兴趣,可以复制 『 jiubing1 』或者点击下方名片加我为好友,一起学习和进步。

到了这里,关于selenium还能这么玩:连接手动打开的浏览器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium 连接已经打开的chrome浏览器 MAC

    今天在爬取chatGPT的谷歌插件的prompts的时候,发现绕不过他的反爬机制,失败+1+1+1,所以想用连接已打开的chatGPT页面进行控制 1,添加环境变量 用临时在终端添加环境变量的方法,方便又快捷了属实是,新打开一个终端复制粘贴即可。 测试有没有添加环境变量成功: 当看到

    2024年02月04日
    浏览(49)
  • 【Selenium】解决chrome浏览器打开网站提示“您的连接不是私密连接”问题

    在使用selenium实现自动化访问测试环境地址时,由于测试环境没有正式的证书,导致访问站点的时候提示“您的连接不是私密连接” 解决方法一: 访问站点前设置浏览器访问参数 实际结果:没有生效,问题仍存在 解决方法二: 在出现提示时,直接在此页面上用键盘敲  th

    2024年02月16日
    浏览(44)
  • selenium打开火狐浏览器

    项目上需求为:甲方OA 系统是IE系统,需要从IE系统点个按钮打开火狐浏览器单点登录跳转到我们的系统  前期解决方案为:打开浏览器就行了,然后就用的是打开本地浏览器,但是由于B/S架构,有别人远程访问我的ip来尝试时,打开的确是服务器的浏览器,也就是我自己的浏

    2024年02月02日
    浏览(45)
  • selenium无法打开浏览器问题

    想利用这个例子简单测试一下安装是否成功? from selenium import wbdriver driver = weddriver.Chrom() driver.get(‘http://www.baidu.com’) 前提是:浏览器版本和浏览器驱动版本是一致的,具体怎么看版本是否是一致的,下期再给大家补充 结果报如下错误: 在安装浏览器的时候浏览器的名字都

    2024年02月11日
    浏览(43)
  • selenium 驱动 Edge浏览器,解决selenium打开Edge浏览器闪退问题

    1、在设置中查看浏览器的版本号 2、在官网中进行对应下载 Microsoft Edge WebDriver - Microsoft Edge Developer 1、打开设置界面 右击【此电脑】---选择【属性】----选择【高级系统设置】-----点击【环境变量】 2、变量设置 在【系统变量】选项中,选择【Path】----》点击新建 将Edge浏览器

    2024年02月05日
    浏览(44)
  • selenium 之 控制打开的浏览器

    使用背景: 当我们需要在打开的浏览器中进行自动化操作时需要用到此方法。 1、为了防止污染别的环境(同一个网站多个账号爬取的情况),最好对浏览器使用新的端口创建debug副本。 具体操作如下 (1)右键浏览器创建副本(或者直接复制) (2)在新生成的快捷方式上右

    2024年02月14日
    浏览(33)
  • selenium 不重复打开当前浏览器

    注意: 1. selenium最好使用3.141.0版本,其他版本会有问题:如方法名不一致,参数名不一致比较麻烦 2. 谷歌浏览器和驱动一定要对应并使用正版的

    2024年02月09日
    浏览(33)
  • 解决selenium打开浏览器自动退出

    解决selenium打开Chrome浏览器自动退出问题 问题 最近电脑换了新系统,在运行Selenium的时候遇到一个问题,当我执行完程序,浏览器自动关闭了,我在程序中也没有写driver.quit()方法。代码如下: 代码运行后,webdriver驱动chrome浏览器打开网页后,便自动退出了。但是系统升级前

    2024年02月11日
    浏览(38)
  • 补充:selenium操作已打开的浏览器窗口

    1. 打开浏览器 首先来到安装 chrome浏览器 的文件夹下,例:C:Users\\01AppDataLocalGoogleChromeApplication 在此界面打开 cmd窗口, 然后输入:chrome.exe --remote-debugging-port=9527 --user-data-dir=“F:seleniumAutomationProfile” ,并回车。 这句代码的意思是启动 chrome浏览器 的调试模式, user-data

    2023年04月09日
    浏览(33)
  • 解决Python selenium打开浏览器自动退出

    刚学selenium,在网上复制了启动浏览器的代码,结果打开Chrome浏览器跳转网页后,浏览器自动退出了,可是并没有调用quit(),查了下解决方案,说是降版本,不想降,所以找了其他方法: 设置启动参数即可,驱动过程结束后保持浏览器的打开状态: options.add_experimental_option(

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包