使用selenium控制已打开的浏览器

在使用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,不会污染你的默认配置文件。

      还有,不要忘了在环境变量中PATH里将chrome的路径添加进去。

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

《使用selenium控制已打开的浏览器》

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

《使用selenium控制已打开的浏览器》

会发现打印出了 “百度一下,你就知道” 的网页标题。这样我们就实现了对一个已打开的浏览器的控制。

更多需求可以自己在此基础上进行修改。

    原文作者:我爱学python
    原文地址: https://www.jianshu.com/p/a71766d68057
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞