2016-08-31 11 views
1

私はテストするmvcアプリケーションがあり、私のコードはPhantomではなくChromeで動作します。ログオンページでid = "password"の簡単な入力コントロールを見つけることはできません。私はさまざまなセレクタ、xpath、クラス、ID、ページ上の異なるコントロールを試しました。 "body"タグとその次のものを見つけることができますが、次のレベルを過ぎて何かを見つけるために何もしていません。phantomjsが要素を見つけられませんmvc

私はdriver.waitforpageloadとthread.sleepも試してみました。利用可能。誰でもアイデア?

答えて

0

ログオン ページで、id = "password"の単純な入力コントロールが見つかりません。

それは「身体」タグと非常に次の内部タグ 「アプリ・コントローラ」を見つけることができますが、何も、ビュー内の 次のレベル過去の何かを見つけるために作業していません-managerタグ。

私もそれもロードされ、それが 成功し、そのページ上のコントロールを見つけることができるかどうかを確認するためにgoogle.comをテストしてみました。

上記を考慮すると、URLに移動した後にログインページがあなたのサイトのページであると推測しています。

私はPhantomJSがページ上の要素を特定できないと主張していたのと同じ問題が発生しました。これは私がデバッグを始めるまで。

PhantomJSがすべてのヘッドレスをどのようにロードするかについては、自分の「コンテナ」に多かれ少なかれ、テストサイトをロードすることさえできないことが判明しました。実行される。

デバッグして同じ問題が発生していないかどうかを確認するには、ページの内容をログファイルに出力するだけです。 これを行うには、次のコマンドを使用します。var pageSource = driver.Pagesource; 最後のノードがbodyである可能性が高くなります。

そのような場合、あなたは作業を開始するためにあなたのサイトのために必要とされるものを前提条件を参照する必要があります:認証等、HTTPS証明書、

+0

だからあなたのソリューションは何でしたか? – stacv

+0

私はページソースを見て、自分のパスワードやユーザー名を検索しましたが、見つかったのはjavascript変数だけです。私はどのように修正するか分からない。 – stacv

+0

私が言ったように、これはあなたのサイトの前提条件が何であるかによって異なります。私の場合は、SQLite DBを使用して作成し、使用するHTTPSサムプリント証明書を作成し、使用しているカスタムWebサーバーを開始する必要があります。開発者の助けがなければ、それを機能させるために必要なものを理解することは難しいでしょう。 – Cosmin

関連する問題