2016-07-15 9 views
1

こんにちは、私はセレンのためにゴーストドライバーを使用しています。私はGoogle AdWordsにログインしようとしていますが、なんらかの理由で私は極端な問題を抱えています。ページ上に何も表示されません

Dim driver As New PhantomJSDriver 
    Dim options = New PhantomJSOptions() 
    options.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36") 

    driver.Navigate.GoToUrl("https://accounts.google.com/ServiceLogin?service=adwords&continue=https://adwords.google.com/um/identity?dst%3D/ko/KeywordPlanner/Home&hl=en_US&ltmpl=signin&passive=0&skipvpage=true#identifier") 

    driver.Manage.Window.Maximize() 

    Dim i As IWebElement = driver.FindElementByName("Email") 
    Dim a As New Actions(driver) 

    a.MoveToElement(i).Click().Perform() 

    Dim jse As IJavaScriptExecutor = DirectCast(driver, IJavaScriptExecutor) 
    jse.ExecuteScript("document.getElementById('Email').focus();") 



    Dim nextbtn As IWebElement = driver.FindElementById("link-signup") 
    nextbtn.Click() 

    Try 
     Dim ss As Screenshot = DirectCast(driver, ITakesScreenshot).GetScreenshot() 
     ss.SaveAsFile("D:\SeleniumTestingScreenshot.jpg", System.Drawing.Imaging.ImageFormat.Jpeg) 
    Catch 

    End Try 

あなたはそれが非常に簡単なプロセスだ見ることができるように:

は、ここに私のコードです。問題は、すべてがページ上でグレー表示されていることです(私はスクリーンショットでチェックしました)。それは、ページ上に何かが正しくロードされておらず、テキストボックスやボタンやリンクがアクティブになっているかのようです。私は何もクリックすることはできません。私はいろいろなことを試みましたが、何も私のために働いていません。 Javascriptが有効になっている場合、私はphantomjsがブロックされている場合にユーザーエージェントを変更しました。この問題への助けに感謝します。私はc#またはvb.netとは関係ありませんが問題はありません。私はここでGoogleがやっかいな気がします。

+0

無限ループのクライアントサイドのようなサウンドです。あなたはjavascriptをデバッグできますか? – user3532232

+0

あなたがそれを学ぶことができるのは、メールや写真、分析などの別のGoogleサービスを介してログインできるかどうかを確認することです。私はあなたが正しいと確信しています。ログインページのボットを検出してブロックするのは理にかなっています。 –

答えて

1

私はここで問題を解決したと信じています。それは非常に簡単で、私はそれをもっと早く見ないのは馬鹿だと感じます。すべてがちょうど始動されるように、早いものは適切に読み込む時間がないようです。だから私は単純なthreading.thread.sleepコマンドをアクションと物事の間に追加しました。今はうまく動いているようです。要素が正しく読み込まれる前にスクリーンショットを撮っていたので、すべてがグレー表示されていました。

+2

面白いですが、ページにはボットガードスクリプトがありますが、おそらく他のものを検出します。それは、/ *スパム対策です。こんにちは?連絡先(base64)Ym90Z3VhcmQtY29udGFjdEBnb29nbGUuY29t - > [email protected] –

+1

戻って答えをマークして、質問に回答としてマークしてください。ありがとう! – JeffC

関連する問題