問題タブ [ghostdriver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firefox - プログラムでFirefoxでページの読み込みを停止する方法は?
WebDriver と Firefox でいくつかのテストを実行しています。
次のコマンドで問題が発生しています。
WebDriver.get(www.google.com);
このコマンドを使用すると、onload イベントが発生するまで WebDriver がブロックされます。これには通常数秒かかりますが、読み込みが終わらない Web サイトでは数時間かかる場合があります。
私がやりたいのは、特定のタイムアウト後にページの読み込みを停止し、何らかの形で Firefox の停止ボタンをシミュレートすることです。
ページを読み込もうとするたびに、最初に次の JS コードを実行しようとしました。
残念ながら、これはおそらく次の理由で機能しません。
スクリプトがロードされる順序のため、stop() メソッドは、それが含まれているドキュメントのロードを停止できません1
更新 1: 接続と要求のタイムアウトを追加するために SquidProxy を使用しようとしましたが、問題は解決しませんでした。
今日見つけた奇妙なことの 1 つは、私のマシン (FF3.6 - 4.0 および Mac Os 10.6.7) での読み込みが停止しない Web サイトが、他のブラウザーやコンピューターでは正常に読み込まれたことです。
更新 2: この問題は、Firefox に画像を読み込まないように指示することで解決できるようです。うまくいけば、すべてがその後うまくいくでしょう...
WebDriver を使用するには、より優れた Chrome ドライバーがあればいいのにと思います。Firefox には毎日がっかりさせられます。
更新 3: Selenium 2.9 では、ドライバーがハングしているように見えるケースを処理するための新しい機能が追加されました。FirefoxProfile
これは次のように使用できます。
試した後、これが機能するかどうかを投稿します。
更新 4: 最後に、上記の方法はどれも機能しませんでした。完了するのに時間がかかるスレッドを「殺す」ことになります。PhantomJS をバックエンドとして使用するリモート WebDriver であるGhostdriverを試す予定です。PhantomJS はヘッドレス WebKit スクリプト可能であるため、firefox などの実際のブラウザーの問題は発生しないと予想されます。firefox (クロール目的) を使用する義務がない人のために、結果を更新します。
更新 5: 更新の時間です。FirefoxDriver の代わりに Ghostdriver 1.1 を 5 か月間使用して、パフォーマンスと安定性に本当に満足していると言えます。適切な動作をしていないケースがいくつかありましたが、一般的にゴーストドライバーは十分に安定しているようです。したがって、私のように、クロール/Webスクレイピング用のブラウザーが必要な場合は、firefoxとxvfbの代わりにghostdriverを使用することをお勧めします。これにより、いくつかの頭痛の種になります...
java - Javaを使用してSeleniumでghostdriverを実行する方法
いくつかのWebテストに使用したいのですが、 (https://github.com/detro/ghostdriverphantomJS
)に出くわしました。readmeの手順を使用してビルドし、指定したポートで実行できますが、JavaコードからWebドライバーにアクセスする方法がわかりません。明確にするために、私はルビーでこの例を見ました:GhostDriver
Javaから同じことを行う方法がわかりません。
python - python webdriver で phantomjs/ghostdriver のプロキシを設定するにはどうすればよいですか?
HTTP プロキシ経由でリクエストをルーティングする方法を見つけようとしています。
次のようにwebdriverを初期化しています:
私はドキュメントとソースを調べましたが、webdriver を介して phantomjs でプロキシ サーバーを使用する方法を見つけることができないようです。
助言がありますか?
selenium - Watir-Webdriver と phantomjs を使用したフレームの問題
Watir-Webdriver と phantomjs を使用してテストを書いていますが、iframe に問題があります。次のコードで要素を取得しようとしています:
そして、phantomjs を使用している場合、エラーが発生します。
しかし、chrome ドライバーを使用している場合、上記のコードは正しく機能し、「true」値を返します。
どうすれば修正できますか?または、phantomjs を使用してこの要素を取得する他の方法はありますか? どんな助けでも大歓迎です。ありがとう!
java - セレンゴーストドライバーのWebページを解析およびクリックするためのJavaScriptの埋め込み
Ghostドライバーを使用してGoogle検索結果ページを解析しようとしています。2番目の検索結果ページを解析する必要があります。そのため、Javaスクリプトを使用して、検索結果ページのソース(html)を調べ、その下のページ番号をクリックして(Ghostドライバーを使用して)ナビゲートしようとしています。次に、次の例外をスローします。
phantomjs - Selenium Grid2 経由で RemoteWebDriver(Ghost,Phantom) を使用できない
今日はGhostDriverとPhantomjsを試しました。GhostDriver を使用すると、うまく動作します。このように始めます
phantomjs --webdriver=8910 その後
私のセレンテストケースは合格できます。
次に、Selenium2Grid を使用しようとしたので、selenium スタンドアロン サーバーをハブとして起動します。
次に、GhostDriver をハブに登録します
次に、Grid コンソールで登録を確認したhttp://localhost:4444/grid/console
ところ、phantomjs が既に登録されていることがわかりました。コードを変更したので、クライアントはグリッドにアクセスする必要があります。
セレンのテスト ケースを再実行します。うまくいくと思いましたが、例外がスローされます。
コードをデバッグしたところ、RemoteWebDriver.class で、応答が Selenium Grid Page ( http://localhost:4444
)のソース コードであることがわかりました。 -7-32bit, acceptSslCerts=false, javascriptEnabled=true, browserName=phantomjs, rotatable=false, locationContextEnabled=false, version=phantomjs-1.8.1+ghostdriver-1.0.2, databaseEnabled=false, cssSelectorsEnabled=true, handlesAlerts=false 、browserConnectionEnabled=false、webStorageEnabled=false、proxy={proxyType=direct}、nativeEvents=true、applicationCacheEnabled=false、takesScreenshot=false]
以前にこの問題に遭遇した人はいますか? または何か提案はありますか?前もって感謝します。
javascript - Python 経由で GhostDriver を使用してアラートを処理するにはどうすればよいですか?
問題: GhostDriver API はまだアラート処理をサポートしていません。当分の間、許容できる回避策があります。それは、アラートを処理してテキストを保存する独自の JavaScript をページに挿入することです。
Python Webdriver バインディングを介してこの回避策を使用する際に問題が発生しています。これは、私の初心者レベルの JavaScript の理解に関連している可能性があります。
私が利用しようとしている回避策の例を次に示します: https://github.com/detro/ghostdriver/issues/20#issuecomment-15641983
これをより簡単にするためのアラートを示す公開サイトを使用しています: http://www.tizag.com/javascriptT/javascriptalert.php
これが私のコードです:
例外は次のとおりです。
私はJS初心者です。誰かが私を正しい方向に向けてくれることを願っています。
java - GhostDriver と PhantomJS を使用して Web から URL ページを取得する時間を短縮する方法
私はMavenでプロジェクトをやっています。URl からページを取得しようとしています。今まで私はウェブからページを取得することに成功しています。2点質問なのですが、
質問,
- 以下のコードは、2 つの URL ページを取得するのに約 14 秒かかります。この時間を短縮するにはどうすればよいですか。最適化を手伝ってください。
- 実行が完了した後、コードを終了しません。なんで ?でコードを終了しました
driver.close()
。次に、なぜ、正常に終了しません。プロセスの開始前と完了後にスナップショットを追加しました。これらをご覧ください。
私の問題で私を助けてください。お願いします。
私のコード:-
プロセスを開始する前のスナップショット、
プロセスが完了した後のスナップショット、理由もなく待機している場合、
c# - Selenium のテスト実行後に GhostDriver が終了しない
GhostDriver (PhantomJS) を使用した Selenium の最初の非常に単純なテストでは、テストはパスしますが、PhantomJS.exe は終了しません。Windows 7、PhantomJS 1.9.0、Selenium WebDriver API 2.32.1、および NUnit 2.6.2.12296、.NET 3.5 で実行しています。
これが私のC#/Nunit/WebDriverコードです:
そして、PhantomJS のすべてを以下に示します。
しかし、シャットダウンすることはありません...何かアイデアはありますか?
selenium - Selenium webdriver java - phantomjs ドライバーでファイルをアップロードする
Phantomjs ドライバーを使用して、セレン Web ドライバー スクリプトをヘッドレスで実行しています。ファイルのアップロードに問題がありますが、通常のブラウザー (Firefox または Chrome) では OS ダイアログ ボックスがポップアップ表示され、マシン内のファイルを見つけてアップロードできるようになります。GhostDriver (Phantomjs Driver) でそれを行う方法は? ありがとう