我可以使用打开的浏览器初始化 Watir::浏览器对象吗?



我正在使用 Watir 编写一个小脚本来学习一些关于使用脚本语言进行网络抓取的知识,但是我使用的网站需要通过 2 步验证登录。

我已经自动化了登录过程,但是目前我正在手动插入身份验证器代码,然后继续使用我的脚本以获取信息并完成所需的任务。

在我自动化 2 步身份验证之前,如果不是打开新浏览器并完成登录过程,我可以将 Watir::Browser 对象指向已经登录的浏览器并从那里开始,那就太好了。

作为参考,这是我已经用于创建浏览器对象的代码:

require 'watir'
# Open ghost browser
browser = Watir::Browser.new(:chrome)
# Navigate to the scrape site
browser.goto("https://secure.site.that.requires.authentication.com")
# Set login information
browser.text_field(name: 'username').set "username"
browser.text_field(name: 'password').set "password"
# Login
browser.button(type: 'submit').click
# Manually enter verification code and continue script afterwards

不,Watir/Selenium 无法与当前编码会话中未由驱动程序启动的浏览器进行交互。您可以通过复制/粘贴到同一个 irb 会话中来执行所需的操作,或者插入 sleep 命令,以便有时间在两个不同的自动化部件之间执行手动工作。

相关内容

最新更新