誰かが私の助けを借りて願っています。phantomJS問題。 私は、Jenkins上で実行されているセレンハブに登録するノードとして、unix 64bitでバージョン1.9.8を実行しています。私がxpath
を介してアドレス指定している理由で、またはname
というリンクがないHTMLページに移動すると、残念ながらHTMLコードを外部入力として変更することはできません。それをクリックしようとしています次のページに移動します。 Firefoxドライバを使用すると問題なく動作しました。ローカルのセレンサーバ(windows、phantomJS v。1.9.8)を起動しても動作します。PhantomJS WebDriverヘッドレス: ".click"メソッドは効果がありません
マイコード:ローカルセレンの
System.out.println("current url before click: " + getDriver().getCurrentUrl());
getDriver().findElement(By.xpath("//a")).click();
System.out.println("current url after click: " + getDriver().getCurrentUrl());
出力(Windowsの場合):リモートセレングリッド上
出力
current url before click: https://initialpage.html
current url after click: https://www.my-link.com
(UNIX):
current url before click: https://initialpage.html
current url after click: https://initialpage.html
エラーや似たようなものはありません、それは単にドライバが古いページにとどまるようです。 thread.sleep()
いくつかの年代を追加し、
getDriver().navigate().to(getDriver().findElement(By.xpath("//a")).getAttribute("href"));
でclick()
を交換するが、出力は同じまま、webdriverををインスタンス化しながら、私はすでに別のphantomjs.cli.args
を試してみました。それは、ここで問題念の
は私がwebdriverををインスタンス化する方法である:
driver = new RemoteWebDriver(new URL("http://servername:4444/wd/hub"), DesiredCapabilities.phantomjs());
私は任意の助けに感謝、努力の人たちに感謝!ご質問が残っている場合は、お気軽にお問い合わせください!前もって感謝します!
これは私があなたが同じPhantomJSバージョンをサーバ上に持っていなかったと信じています。おそらくあなたは1.9.7だったでしょう。 npmを通してインストールされたPhantomJS 1.9.8は、実際には1.9.7です。なぜなら、SSLプロトコルの問題が発生したときにバージョン管理が行われていなかったからです。 –
こんにちは、私はphantomjs.orgから1.9.8をダウンロードし、私のUnixマシンでそれをuntarし、それをphantomjs.binary.path変数として設定して、(そのハブに登録する)セレニウムノードに設定しました。何が違っていたのですか、セレンのサーバーのバージョンです(しかし、それは私が渡すphantomjsのバージョンには影響しませんか?) – user3017641
ええと、セレニウムのサーバのバージョンはここでは効果がありません。 –