2016-12-01 6 views
1

RSeleniumを使用して毎日ウェブサイトにアクセスしてスクラップしたい。私が気づいたことは、通常のクロムブラウザでウェブサイトを開くと、私がウェブサイトに最後にアクセスしたときから既にログインしていることです。ただし、RSeleniumを使用してリモートドライバを開き、このドライバを使用してWebページにアクセスすると、すでにWebサイトにログインしていることはありません。ほとんどのサイトにログインするには基本的なものですが、このウェブサイトではログインが難しくなるCaptchaがあります。R - RSeleniumを使用してWebサイトにログインする(Captcha、ログインしている)

リモートドライバが既にログインしているウェブサイトにアクセスすることはできますか?以下の私のコードの

例:

this_URL = "my_url_goes_here" 
startServer() 

remDr = remoteDriver$new(browserName = 'chrome') 
Sys.sleep(2); remDr$open(); 
Sys.sleep(4); remDr$navigate(this_URL); 

login_element = remDr$findElement(using = "id", "login-link") 
login_element$ 

login_elementリンクをクリックした後、それは私の入力ユーザー名、パスワードページに私をもたらし、そして/それが尋ねる何キャプチャをクリックしてください。

おかげで、

+0

私が知っている限り、別のクロムセッションでクロムプロファイルを共有することはできませんので、答えはノーと思っています。 – jdharrison

+0

これは、このようなログインを自動化するのを難しくするために、これがcaptchaのポイントだと思いますか? – Canovice

+0

はい。 geckodriver/firefoxを使うと、既存のインスタンスに接続するオプションがあることがわかります。--connect-existing既存のFirefoxインスタンスに接続してください。そうすれば運がよいかもしれません。現在、通常のChromeブラウザにログインしている必要がありますか?そうでなければ、それはあなたがそれを覚えているので、現在のクロムプロファイルをRSeleniumで使用するのに十分であるはずです。 – jdharrison

答えて

2

それは次のようにFirefoxとFirefoxのプロファイルを使用して動作するはずです:

  1. セットアップFirefxxアクセス: Firefoxを起動し、通常どおりログイン。 Firefoxを閉じたときに確認して、あなたがログインしたままに再度ログイン

  2. 図をデフォルトのFirefoxのプロファイルの場所から:。(source + more details

    • Windowsの場合:%のAppData これはsomethinkのようにする必要があります%MozillaFirefoxProfilesxxxxxxxx.default
    • Macの場合:〜/は.mozilla/firefoxの/ xxxxxxxx.default/
    • のLinux:〜/ライブラリ/ Application Support/Firefoxの/プロファイル/ xxxxxxxx.default/
  3. スタート新しいRSeleniumドライバーと

次のようにプロファイルを設定 - >

require(RSelenium) 
eCap <- list("webdriver.firefox.profile" = "MySeleniumProfile") 
remDr <- remoteDriver(browserName = "firefox", extraCapabilities = eCap) 
remDr$open() 

開きますが、あなたの選択したプロファイルでなければなりませんFirefoxのウィンドウを。

少し前にこれを行いました。私が正しく覚えていれば、このように動作します。

P .:新しいファイアウォールプロファイルを作成することもできます。これを行うには上記リンクの手順に従います

+0

ありがとう私はこれを試してみましょう – Canovice

関連する問題