0

特定の文字列を含む 1 つ以上のテーブル セルを取得しようとしています。私はこれを達成することができません

var tableCells = table.FindElements(By.CssSelector("td:contains('my partial text')"));  

ここで使用する正しい css セレクター テキストは何ですか?

私も次のことを試しました:

var tableCells = table.FindElements(By.TagName("td")).Where(tableCell => tableCell.Contains("my partial text"));

しかし、それは非常に遅いです。

4

1 に答える 1

1

のようなCSSセレクターはありません:contains() それは何年も前に破棄された提案でした。

遅い理由table.FindElements(By.TagName("td")).Where(tableCell => tableCell.Contains("my partial text"));は、少なくとも部分的に明らかなはずです。WebDriverに、ドキュメント内のすべてのテーブルセルを検索してから、それらすべてを反復処理するように要求しているのです。

のようなXPathロケーターを使用すると、これをはるかに効率的に行うことができますtable.FindElements(By.xpath("//td[contains(.,'my partial text')]"))。これはまさにそのように見えます-試行したCSSロケーターに相当するXPathです。

于 2013-01-13T15:44:00.490 に答える