2017-02-13 15 views
0

私はスクリプト言語でウェブスクレイピングについて少し学ぶためにWatirで小さなスクリプトを書いていますが、私が使用しているサイトでは2ステップ認証でログインする必要があります。開いているブラウザでWatir :: Browserオブジェクトを初期化できますか?

私は現在ログインプロセスを自動化していますが、現在、認証コードを手動で挿入してから、スクリプトを使用して情報を取得し、必要なタスクを完了しています。

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 

答えて

1

いや、ワチール/セレンは、現在のコーディングのセッションでドライバによって開始されていなかったwtihブラウザを操作することはできません。同じirbセッションにコピー/ペーストするか、sleepコマンドを挿入して、2つの異なる自動化されたパーツの間で手動作業を行う時間を与えることで、あなたが望むことができます。

関連する問題