-1

モバイル対応のためにブラウザをテストしています。私は、このコマンドブラウザがモバイル対応モードに設定されていると、Selenium - 要素が表示されない

driver.Manage().Window.Size = new Size(320, 568);

私がテストを実行すると、ブラウザがすべての問題のない言及した大きさに応じた細かな開きを使用しているiPhone 5 320×568にブラウザのウィンドウサイズを変更しました。しかし、それはページに表示されるハイパーリンクのテキストを見つけることができません。私は実際に画面上のリンクのテキストを見ることができたときにElementが表示されないようにします。だから、誰かが私がこの問題を解決するのを助けることができるか、私が試すことができるアイデアを持っている?

ご協力いただければ幸いです。

ありがとうございました。

+0

試したコードとエラーメッセージとその結果を投稿してください。 – JeffC

+0

要素がモバイルブレークポイントにあるときに要素が変化するかどうか知っていますか?多分それはメニューか何かの下に隠されています。要素 'display:none'もありますか?またはwebdriverに見えないようにしているCSSがありますか? –

答えて

0

おそらくそれは、リンクが表示される前であっても、コードが実行されることを意味し、原因の遅延時間にだ、だからあなたの言語で、次のコードを記述

コードルビーセレン結合

wait = Selenium::WebDriver::Wait.new(timeout: 10) # seconds 
wait.until { driver.find_element(id: "foo").displayed? } 
driver.find_element(id: "foo").click 
+0

暗黙の待機、明示的な待機、および睡眠の使用​​を試みましたが、いずれも機能しませんでした。ご意見ありがとうございます。 – Shoby

+0

@Shoby答えに指定されたとおりに表示待ちをしましたか、または要素が存在するだけの暗黙の待機を使用しましたか?上記のコメントのストレスは、表示されるまで待つことです。表示されましたか? – Gopal

+0

はいと同様に表示されました。 – Shoby

0

トライから要素にスクロールします。 これを行うにはJavaスクリプトを使用できます。あなたがモバイル応答性をテストするときはPythonで これは WebDriver.execute_script("arguments[0].scrollIntoView();", elem)

0

を経由してWebページの変更のDOMの一部の要素を行うことができますので、セレンは、あなたがしなければならない、あなたが特にtarget.Soしようとしている要素を見つけることができませんデバッグし、コードがアクションを実行するのに失敗しているメソッドを見つけようとします。そのため、モバイルレスポンスビューでこれらの要素のロケータを見つけて、モバイル用にテストしているときにそれらのメソッドだけをトリガする必要があります。

関連する問題