我可以用打开的浏览器初始化一个 Watir::Browser 对象吗?
Can I initialize a Watir::Browser object with an open browser?
我正在用 Watir 编写一个小脚本来学习一些关于使用脚本语言进行网络抓取的知识,但是我使用的网站需要通过两步验证进行登录。
我的登录过程是自动化的,但目前我是手动插入验证器代码,然后继续使用我的脚本来获取信息并完成所需的任务。
在我实现两步身份验证自动化之前,如果不是打开新浏览器并完成登录过程,我可以将 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 无法与当前编码会话中未由驱动程序启动的浏览器交互。您可以通过 copying/pasting 在同一个 irb 会话中执行您想要的操作,或者插入 sleep
命令让您有时间在两个不同的自动化部分之间完成手动工作。
我正在用 Watir 编写一个小脚本来学习一些关于使用脚本语言进行网络抓取的知识,但是我使用的网站需要通过两步验证进行登录。
我的登录过程是自动化的,但目前我是手动插入验证器代码,然后继续使用我的脚本来获取信息并完成所需的任务。
在我实现两步身份验证自动化之前,如果不是打开新浏览器并完成登录过程,我可以将 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 无法与当前编码会话中未由驱动程序启动的浏览器交互。您可以通过 copying/pasting 在同一个 irb 会话中执行您想要的操作,或者插入 sleep
命令让您有时间在两个不同的自动化部分之间完成手动工作。