2017-01-24 8 views
1

私は何かIWebDriverの要素でLINQクエリを使用できませんか?

IWebElement toClick = browser.FindElements(By.CssSelector("table.some-table tr")).First(elem => elem.Text == "someText"); 

何かをやろうとしているが、それはFindElements戻りReadOnlyCollection<IWebElement>のように見えます。だから私はそれが私がやらなければならないことを意味することを訂正します

IWebElement toClick; 
foreach(var elem in browser.FindElements(By.CssSelector("table.some-table tr"))) 
    if(elem.Text == "someText") 
    { 
     toClick = elem; 
     break; 
    } 

または別の方法がありますか?

+2

'ReadOnlyCollection が' '' IEnumerableをではなく==よりも.Equals(「SomeText」)を使用する必要があると思います、あなたは私の経験で、とにかく動作しないことがあり、文字列を比較した場合したがって、スコープ内に 'using System.Linq;'ステートメントがあると仮定すると、それはうまくいくはずです。そうでなければ、そのLINQコードをビルド/実行するときに正確に何が起きるかを指定します - http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist –

+0

@EugenePodskalそれは私が忘れていたものです!ありがとう。 –

答えて

0

あなたは「いくつかのテキストは、」

+0

'.Equals'呼び出しに大文字小文字の区別を加えないかぎり、ステートメントは同義です。 – Theo

関連する問題