Selenium操作已经打开的Chrome(只怪自己尝试的太迟)

这篇具有很好参考价值的文章主要介绍了Selenium操作已经打开的Chrome(只怪自己尝试的太迟)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝

🥰 博客首页:knighthood2001

😗 欢迎点赞👍评论🗨️

❤️ 热爱python,期待与大家一同进步成长!!❤️

前言

        之前笔者对selenium的印象是它对于不需要登陆的网址来讲,操作确实是很棒,而对于需要登录的网址,除了自己扫码或者找到账号、密码控件并输入、点击登录按钮登录等方法,其总是需要多出这一步来,此外对于很多网址来说,不能多次重复这样,否则会登录不上(就拿登录csdn私信来说,账号密码登录短时间只能登录一次,否则就会出现下图所示的内容,滑动滑块也没用)。

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

        有时通过selenium打开网站时,发现有些网站需要扫码登录,就很头疼,导致后续进展不下去。

        最近在使用uiautomation操作浏览器的时候,打开浏览器不需要像selenium一样要先登录,不过对于后续操作,uiautomation的使用就显得不是非常方便,因此后续仍需要回到selenium。

因此最终的问题就是,如何让selenium操作已经打开的浏览器以及网址。

        之前也发现过这些,但是那时候觉得麻烦,没有尝试,现在发现当时的自己是多么愚蠢。现在重新看相关的文章,发现步骤非常简单。


方法一

import os
import subprocess

# 先切换到chrome可执行文件的路径
os.chdir(r"C:\Program Files\Google\Chrome\Application")
# user-data-dir为路径
subprocess.Popen('chrome.exe --remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"')

 java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

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

chrome路径在chrome图标右键查看文件位置可以找到,一般在

C:\Program Files\Google\Chrome\Application

user-data-dir为你想要保存的路径

以上方法每次使用代码都需要写,比较麻烦,因此可以尝试方法二


方法二

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

打开chrome属性,其目标写着 

"C:\Program Files\Google\Chrome\Application\chrome.exe"

我们需要在后面加上(--remote前面有个空格

--remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"

即目标里面的内容如下 

"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"

其中的9527为端口号,可以自己更改

--user-data-dir指定运行浏览器的运行数据,新建一个干净目录,不影响系统原来的数据

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

更改好后,点击确定,然后会弹出需要管理员授权方面的信息,点确认即可。

然后,你的谷歌 

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

就变这样了,所以进行这步操作前,首先记住你的书签(还好我之前的网页还存在一个,不然对于我这样的菜鸡,应该找不回来了)

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

在D盘的文件夹下面,多出来很多文件。 

接下来直接使用代码即可

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

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

实例:

在csdn搜索框中输入22222 

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
driver = webdriver.Chrome(options=options)
print(driver.title)
xpath = '//*[@id="toolbar-search-input"]'
driver.find_element(by=By.XPATH, value=xpath).send_keys('222222')

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

小插曲

        本来笔者怕这个可以使用后,就把之前selenium每次操作都会打开一个浏览器给搞冲突了

然后自己就去尝试了,当时的代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = 'https://www.baidu.com'
driver = webdriver.chrome()
driver.get(url)
print(driver.title)

java selenium实例已打开chrome,python,Python爬虫,selenium,测试工具,python,uiautomation,chrome

然后发现还真报错了,这给我紧张的,过了好久才发现 

原因是:我的Chrome()写成chrome()了,结果仅仅是这一个字母大小写的差别。 

所以写代码一定要小心仔细

总结

        完成以上操作后,以后selenium争对需要登陆的网址会变得友好多了。以后很多东西都能继续搞下去了😀😀😀,其使用频率就会上来了。文章来源地址https://www.toymoban.com/news/detail-780622.html

到了这里,关于Selenium操作已经打开的Chrome(只怪自己尝试的太迟)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 关于python的selenium控制已经打开的edge浏览器

     下载edge驱动后,放在edge的exe文件同目录下,并将exe的目录添加到系统“用户“变量path中。之后在exe目录下打开cmd 。在cmd中输入msedge.exe --remote-debugging-port=9222 --user-data-dir=\\\"D:pythonseleniumEdge\\\"      -----注意:提前建这个文件夹\\\"D:pythonseleniumEdge\\\" 

    2024年02月07日
    浏览(36)
  • python selenium chrome114版本之后环境配置和携带缓存打开chrome

    网上找到的资料,我现在安装的是120版本的,这个资料是可行的。比较简单 Selenium安装WebDriver最新Chrome驱动(含116/117/118/119) 114之前的版本驱动地址 说明 :这种启动浏览器的方式是相当于手动打开谷歌,带缓存信息 设置待缓存打开 首先查看谷歌信息 chrome://version/ 注意这里目

    2024年02月04日
    浏览(50)
  • selenium如何接管(控制)已打开Chrome浏览器

    一、目标 使用selenium接管已经打开的Chrome浏览器,并以百度网站为例,输出“百度一下”标签元素。 注: 我的终端是windows系统,适用于windows系统 二、实现步骤 1. 首先用cmd命令切换到终端安装Chrome的路径 下面是我的终端chrome安装路径,不同终端安装可能不一样, 若是不一

    2024年02月11日
    浏览(40)
  • 同时安装了Chrome 及 Chrome For Testing,如何通过Selenium 4 打开Chrome Testing

    首先给出下载对应版本的driver 及 Chrome For Testing的链接,我也是从其他大佬那里搬运过来的。在使用Selenium 之前首先要确保driver 和 Chrome的版本一致,而普通版Chrome会不定期更新,因此谷歌推出了Chrome For Testing,这是专门针对测试场景使用的浏览器,保证了版本始终固定。 官

    2024年02月04日
    浏览(28)
  • 解决selenium打开Chrome浏览器自动退出的问题

    好不容易安装好selenium和对应的浏览器驱动器后终于可以运行程序了,结果发现一运行程序后浏览器打开就自动退出了,但是我在Python代码中并没有写driver.quit()方法,上网查了查发现原来是我的selenium版本是4.8.2的,selenium升级到版本4.7.2后,会出现这个浏览器自动退出的问题

    2024年02月11日
    浏览(47)
  • 记录selenium和chrome使用socks代理打开网页以及查看selenium的版本

    使用前,首先打开socks5全局代理。 之前我还写过一篇关于编程中使用到代理的情况: 记录一下python编程中需要使用代理的解决方法_python 使用全局代理_小小爬虾的博客-CSDN博客 在本文中,首先安装selenium和安装chrome浏览器。 参考我的文章python3如何安装各类库的小总结_小小爬

    2024年02月09日
    浏览(30)
  • selenium 使用已打开的chrome浏览器(python版)

    使用selenium 的 webdriver 调试的时候,每次都是打开一个新的 chrome浏览器实例,特别不方便,那怎么使用上次打开的chrome浏览器实例呢,以下是完整代码,亲测可用 python版本:3.10 系统:win11 步骤1,先写一个打开 chrome浏览器 的文件1,里面指定这个chrome浏览器实例的端口号

    2024年02月14日
    浏览(31)
  • python使用selenium打开chrome浏览器时带用户登录信息

    导读 我们在使用 selenium 打开google浏览器的时候,默认打开的是一个新的浏览器窗口,而且里面不带有任何的浏览器缓存信息。当我们想要爬取某个网站信息或者做某些操作的时候就需要自己再去模拟登陆 selenium操作浏览器 这里我们就以CSDN为例,来展示如何让selenium在打开

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

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

    2024年02月16日
    浏览(44)
  • python通过selenium爬取网页信息,python获取浏览器请求内容,控制已经打开的浏览器

    背景:通过python中直接get或者urlopen打开一些有延迟加载数据的网页,会抓取不到部分信息。 1. 命令行打开chrome,并开启调试端口 (前提,找到chrome安装目录,找到chrome.exe所在路径,添加到环境变量中,例如我的是C:Program FilesGoogleChromeApplication) remote-debugging-port指定远程调试

    2024年02月16日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包