2017-01-13 16 views
0

FindElementメソッドは、要素がページ上とHTML内にあっても、何も戻さない(nullではない)ことに気をつけました。私のコードにAssert.AreEqualメソッドがあると、しばらくの間、この問題が発生します。Selenium:FindElementで何も返されないのはなぜですか?

私は通常、次のようになりアサート:

Assert.AreEqual(stringValue, FindElement(By.XPath("<XPath path>")).Text); 

、エラーメッセージには値がありませんでしたように、「> <」FindElementとして戻ってきたと言って戻ってきます。スクリプトが速すぎてスキップしたり、その他の下線付きの問題がある可能性があります。

答えて

1

これは、あなたのウェブページ上のこのテキストが実際にinnerHTMLとして保存されていない場合に発生します。これは要素のvalueプロパティにあり、Textメソッドを使用するとinnerHTMLしか得られないので空に見えます。 GetAttributeを試して、要素を調べて、このテキストの保存方法を調べます。

私はあなたの問題を正しく理解しています。 :D

+0

ええ、それは正しいです。私はこの問題が次の私のテスト中に現れるのを見たら、それを撃つでしょう。それを説明していただきありがとうございます。 – Tscott

+0

喜んで助けてください。あなたは/ upvoteの回答を受け入れることができますので、コミュニティはもっと簡単にそれを見ることができます。 – acikojevic

+0

tscottをデバッグの一種として使用すると、最初にvarとして取得し、取得したものを参照することができます。 var value = FindElement(By.XPath( ""))。テキスト); – Dazed

関連する問題