2016-02-10 66 views
1

我需要按类和它包含的文本来查找元素。我想这样的,但毫无效果,请帮助(对我来说是更好的使用CSS来选择,但XPath是也没关系):如何通过两个属性查找元素? c#webdriver

Driver.FindElement(By.XPath("//td[contains(@class,'TestClass') and .//text()='TestText']")) 
Driver.FindElement(By.CssSelector("td.TestClass:contains('TestText')")) 

元素:

<td class="TestClass"> TestText</td> 
    <td class="TestClass"> TestText1</td> 
    <td class="TestClass"> TestText2</td>... 

回答

3
  1. 你可以试试使用以下XPATH表达式:

    //td[@class='TestClass'][text()='TestText'] 
    
  2. 使用FindElements代替FindElement。你可以找到所有的td元素,然后循环遍历它们寻找你需要的文本。

0

使用下面的XPath: -

//td[text()=' TestText'] 

OR

//td[@class='TestClass' and text()=' TestText'] 

希望它会帮助你:)

0

使用CSS选择器和LINQ一种不同的方法在C#:

var elements = WebDriver.FindElements(By.CssSelector("td.TestClass'"])); 
    var theElement = elements.FirstOrDefault(e => e.Text.Contains("TestText1")); 
相关问题