問題タブ [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.

0 投票する
1 に答える
2442 参照

javascript - セレンを使用してブラウザの確認ボックスをクリックする

確認ボックスが表示されるとプログラムが失敗します。続行するには、その確認ボックスをクリックする必要があります。そのHtml(firebugを使用)などを掘り下げることができませんでした。どなたかこの状況の対処法を教えてください?? これでもうまくいかなかった

Selenium Web Driver : Java を使用して確認ボックスを処理する

前もって感謝します

0 投票する
1 に答える
2195 参照

testing - PHPUnit を使用した Ghostdriver

PHPUnit Selenium テストのブラウザーとして PhantomJS を使用しようとしています。

GhostDriver Readmeのように、Selenium をグリッド モードで実行するように設定し、webdriver で phantomjs を起動してグリッドに登録しました。

Selenium テストを実行すると、不明なコマンド エラーで失敗します。GhostDriver は、PHPUnit が何を言っているのか理解できません。

これと同じ質問がGhostDriver サイトで行われましたが、PHPUnit が原因であるという提案があり、回答がありませんでした。それは事実かもしれませんが、私はまだこの仕事をするのに近づいていません. 誰かがそれを修正する方法を知っていますか?

0 投票する
2 に答える
11531 参照

scrapy - Ghostdriver.log のパスを無効化または変更するにはどうすればよいですか?

質問は簡単ですが、いくつかのコンテキストが役立つ場合があります。

Selenium と phantomjs をダウンローダとして使用しながら、scrapy をデプロイしようとしています。しかし、問題は、展開しようとすると許可が拒否されたと言い続けることです。そのため、ghostdriver.log のパスを変更するか、単に無効にしたいと考えています。phantomjs -h と ghostdriver github ページを見ても答えが見つかりませんでした。友人の Google も私を失望させました。

0 投票する
1 に答える
2632 参照

python-2.7 - ユーザー名とパスワード、およびカスタム ユーザー エージェントを必要とするプロキシをワーカーに割り当てる方法は?

Selenium、PhantomJS ドライバー、Python バインディングを使用して、ユーザー名とパスワード、およびカスタム ユーザー エージェントを必要とするプロキシをワーカーに割り当てる方法。

テスト Web サイトを横断する多くのワーカーを作成することに成功しました。承認を必要としないユーザー エージェントまたはプロキシを割り当てることもできます。しかし、同じワーカーに対して両方を同時に行う方法はまだわかりません。

ただし、現時点での本当の問題は、ユーザー名とパスワードによる承認が必要なワーカーにプロキシを割り当てることです。

プレーヤー: Selenium 2.33.0 / PhantomJS 1.9.1 / Python 2.7.3 / Ubuntu 12.04

私:ぬべ。Python 週、Linux 日、Selenium 時間、PhantomJS -= 、SO 最初の投稿

検索結果: python webdriver で phantomjs/ghostdriver のプロキシを設定するにはどうすればよいですか?

答えは実際にはそこにあるかもしれませんし、私が読んだり再読した他の多くの場所もありますが、現在のレベルでは点をつなぐことはできません.

ユーザーエージェントはこの方法で解決しました。

承認なしのプロキシはこれで機能します:

上記の両方の方法が使用されている場合、プロキシと UA の両方を PhantomJS ドライバーに渡す方法がわかりません。ATM 認証が必要なプロキシでは、どちらか一方しか実行できず、まったく実行できません。

この SO スレッドの目標:

  1. ユーザー名/パスワードが必要なプロキシを割り当てる方法を学ぶ
  2. カスタム ユーザー エージェントを同じワーカーに割り当てます。

Selenium、PhantomJS ドライバー、Python バインディングを使用。

最終的な目標は、各ワーカーに一意の IP を割り当て、ユーザー エージェントのプールからプルすることです。このためのロジックを作成していますが、私は楽観的ですが、現在、承認されたプロキシが私を蹴っています。

おわかりのように、私はこれらすべてに非常に慣れていないため、この特定の問題の助けと例をいただければ幸いです。

ありがとう!

編集: 以下の受け入れられた回答は正しくありません。以下のソリューションを再現できません。承認されたプロキシのみがドライバーに割り当てられます。プロキシとユーザー エージェントの両方を同じドライバーに割り当てることはできません。

どんな助けや指示も大歓迎です。

EDIT.02: 問題が解決しました。コーディングの問題ではありませんでした。サーバー レベルの新しいプロキシ プロバイダーは、上記のスクリプトをオーバーライドするデフォルトの UA を割り当てました。これが削除されると、すべてがうまくいきました。

0 投票する
3 に答える
1666 参照

java - WebDriver または RemoteWebDriver からのネットワーク監視に PhantomJS および GhostDriver を使用する

WebDriver/RemoteWebDriver 経由で PhantomJS を使用して、ページの読み込み中のネットワーク アクティビティを監視およびテストすることを検討しています。ページのロード、DOM へのアクセスなど、Chrome や Firefox ができるすべてのことを PhantomJS でできるようになりました。

ただし、JavaScript PhantomJS の例で見た方法で、リクエストとレスポンスの HTTP ヘッダーにアクセスできるようにするために、ここからどこに行けばよいかわかりません。GhostDriver Javadocs はそれについて何も言及していないようです。

誰かがこれをしましたか?

0 投票する
1 に答える
2389 参照

java - 既存の要素で JavaScript を実行すると、GhostDriver が古い例外「要素がキャッシュに存在しません」をスローする


古い例外に問題があるため、GhostDriver は前回の実行から変更された何かをバブリングしています。
この { Random “Element is no longer attached to the DOM” StaleElementReferenceException } の質問では、16,000 回以上のビューがあり、誰かが競合状態やテスト時の変更について語っていますが、私のコードは非常に高速に実行されるため、何かが変更されたとは信じられません。 .
私は何も変更していません。すべてのコードが高速に実行されます。おそらく、ページ自体がテスト フラグメント実行の短い時間枠で変更されています。
myLibWorks.findElements(..OKで要素を返します。それを使用FluentWait<SearchContext>すると、メソッドが戻るときに要素が利用可能になります。
それはスローします:

要素がキャッシュに存在しません

要素でjavascriptを実行しようとした後。
これが私のJavaコードの簡略化されたフラグメントです:


Request => {"headers":{"Accept":"application/json, image/png","Connection":"Keep-Alive","Content-Length":"84" により要素がキャッシュに存在しません,"Content-Type":"application/json; charset=utf-8","Host":"127.0.0.1:4444"},"httpVersion":"1.1","method":"POST","post ":"{\"args\":[{\"ELEMENT\":\":wdc:1371656598440\"}],\"script\":\"引数を返す[0].innerHTML\"}"," url":"/execute","urlParsed":{"anchor":"","query":"","file":"execute","directory":"/","path":"/execute "、"相対的":"/execute","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol": "","source":"/execute","queryKey":{},"chunks":["execute"]},"urlOriginal":"/session/efc7cf60-d8f6-11e2-9f07-192e7e451712/execute"コマンドの継続時間またはタイムアウト: 736 ミリ秒 このエラーに関するドキュメントについては、次のサイトを参照してください。chunks":["execute"]},"urlOriginal":"/session/efc7cf60-d8f6-11e2-9f07-192e7e451712/execute"} コマンドの実行時間またはタイムアウト: 736 ミリ秒 このエラーに関するドキュメントについては、以下を参照してください。chunks":["execute"]},"urlOriginal":"/session/efc7cf60-d8f6-11e2-9f07-192e7e451712/execute"} コマンドの実行時間またはタイムアウト: 736 ミリ秒 このエラーに関するドキュメントについては、以下を参照してください。 http://seleniumhq.org/exceptions/stale_element_reference.htmlビルド情報: バージョン: '2.32.0'、リビジョン: '6c40c18'、時刻: '2013-04-09 17:22:56' システム情報: os.name : 'Linux'、os.arch: 'i386'、os.version: '3.8.0-19-generic'、java.version: '1.7.0_21' セッション ID: efc7cf60-d8f6-11e2-9f07-192e7e451712 ドライバー情報: org.openqa.selenium.remote.RemoteWebDriver 機能 [{platform=LINUX、acceptSslCerts=false、javascriptEnabled=true、browserName=phantomjs、rotatable=false、driverVersion=1.0.3、locationContextEnabled=false、version=1.9.0、cssSelectorsEnabled =true、databaseEnabled=false、handlesAlerts=false、browserConnectionEnabled=false、proxy={proxyType=direct}、nativeEvents=true、webStorageEnabled=false、driverName=ghostdriver、applicationCacheEnabled=false、takeScreenshot=true}]} =======


エラーはここから泡立っているように見えます: