使⽤selenium控制已打开的浏览器
转⾃:
在使⽤selenium进⾏⾃动化测试中我们有时会遇到这样的情况:
我们需要⼿动打开浏览器,进⼊到所需的页⾯,执⾏⼀些⼿动任务,如输⼊表单、输⼊验证码,登陆成功后,然后再开始运⾏⾃动化脚本。这种情况下如何使⽤selenium来接管先前已打开的浏览器呢?
这⾥给出Google Chrome浏览器的解决⽅案。
我们可以利⽤Chrome DevTools协议。它允许客户检查和调试Chrome浏览器。
打开cmd,在命令⾏中输⼊命令:
< --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
对于-remote-debugging-port值,可以指定任何打开的端⼝。
对于-user-data-dir标记,指定创建新Chrome配置⽂件的⽬录。它是为了确保在单独的配置⽂件中启动chrome,不会污染你的默认配置⽂件。
还有,不要忘了在环境变量中PATH⾥将chrome的路径添加进去。
selenium怎么使用
此时会打开⼀个浏览器页⾯,我们输⼊百度⽹址,我们把它当成⼀个已存在的浏览器:
现在,我们需要接管上⾯的浏览器。新建⼀个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 = "C:\Program Files (x86)\Google\Chrome\"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
print(driver.title)
会发现打印出了 “百度⼀下,你就知道” 的⽹页标题。这样我们就实现了对⼀个已打开的浏览器的控制。
更多需求可以⾃⼰在此基础上进⾏修改。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。