【Python】Selenium一直使用同一个浏览器,不重复开浏览器

12 篇文章 1 订阅

在实际调试selenium自动化程序时,我们需要手动打开浏览器,进入到所需的页面,执行一些手动任务,如输入表单、输入验证码,登陆成功后,然后再开始运行自动化脚本。

这种情况下如何使用selenium来接管先前已打开的浏览器呢?

这里给出Google Chrome浏览器的解决方案。

我们可以利用Chrome DevTools协议。它允许客户检查和调试Chrome浏览器。

打开cmd,在命令行中输入命令:
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

可以将其配置在环境变量中
对于-remote-debugging-port值,可以指定任何打开的端口。
对于-user-data-dir标记,指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。

此时会打开一个浏览器页面,我们输入百度网址,我们把它当成一个已存在的浏览器:

现在,我们需要接管上面的浏览器。新建一个python文件,运行以下代码:

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

chrome_options=Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver=r'C:\Users\xiaofeng\AppData\Local\Google\Chrome\Application\chromedriver.exe'
driver=webdriver.Chrome(chrome_driver,chrome_options=chrome_options)
print(driver.title)

driver.get('http://10.200.9.183:8074/login.koala')

另外注意要先下载一个跟自己浏览器版本对应的chromedriver.exe

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
<h3>回答1:</h3><br/>Python Selenium无头浏览器是一种自动化测试工具,它可以模拟用户在浏览器中的操作,例如点击、输入、滚动等。无头浏览器是指在运行测试时不需要打浏览器界面,而是在后台运行,这样可以提高测试效率和稳定性。常见的无头浏览器包括Chrome Headless、Firefox Headless等。 <h3>回答2:</h3><br/>Python selenium无头浏览器是指能够在不打浏览器窗口的情况下执行自动化测试任务的一种工具。这种工具使用的是python语言和Selenium web驱动程序,被广泛应用于自动化测试领域。 无头浏览器的主要特点是它可以在后台进行操作,这样就可以节省自动化测试过程中的大量时间和精力。由于它能够在后台运行,所以在执行速度、性能、稳定性等方面都得到了极大的提高,具有很高的效率和可靠性。 Python selenium无头浏览器的主要使用场景包括以下几种: 1. 软件自动化测试。当接手一个新项目时,需要进行功能测试、回归测试等等。自动化测试可以减少手动测试带来的误差和时间,通过使用无头浏览器,可以更加高效地完成自动化测试。 2. 数据采集。在许多情况下,需要从互联网上获取某些信息,例如某个网站的数据,无头浏览器可以模拟用户行为,获取所有数据的自动化过程。 3. 网页生成截图。无头浏览器可以加载一个特定的网页,并自动截取屏幕的一部分或全部,将其转换为图像格式,从而可以快速生成网页截图。 总的来说,Python selenium无头浏览器是一款功能强大的工具,可以帮助发人员更加快速、高效地进行自动化测试、数据采集和网页截图等操作。 <h3>回答3:</h3><br/>Python Selenium是一个强大的自动化测试框架,可以模拟真实用户在Web上的行为,例如点击按钮、输入文本、提交表单、等待页面加载,以及收集和分析Web数据等。但是,这种自动化测试需要使用浏览器进行模拟,而且一些网站可能会检测到用户在使用自动化测试工具。 为了解决这个问题,可以使用Python Selenium无头浏览器。无头浏览器是一种无需图形用户界面的浏览器,它可以在后台执行操作,模拟用户在网站上的行为,而无需启动任何浏览器窗口。 Python Selenium使用无头浏览器的方法与使用传统浏览器的方式相同,只需在代码中指定使用无头浏览器即可。以下是一些使用Python Selenium无头浏览器的示例代码: 1. 使用无头浏览器网页 ``` from selenium import webdriver # 选择无头模式 options = webdriver.chrome.options.Options() options.add_argument("--headless") options.add_argument("--disable-gpu") # 创建浏览器对象 driver = webdriver.Chrome("/path/to/chromedriver", options=options) # 打网页 driver.get("http://www.example.com") # 输出网页源代码 print(driver.page_source) # 关闭浏览器 driver.quit() ``` 2. 在无头浏览器中执行JavaScript ``` from selenium import webdriver # 选择无头模式 options = webdriver.chrome.options.Options() options.add_argument("--headless") options.add_argument("--disable-gpu") # 创建浏览器对象 driver = webdriver.Chrome("/path/to/chromedriver", options=options) # 执行JavaScript driver.execute_script("alert('Hello, world!');") # 关闭浏览器 driver.quit() ``` 总之,Python Selenium无头浏览器是一种非常有效的Web自动化测试工具,可以在后台模拟用户在网站上的行为,而无需启任何浏览器窗口,这对于一些网站来说是非常有用的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云中鲸

谢赏~

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值