how to locate an element by value using css select

2019-02-17 18:48发布

问题:

For the following element, how to find it by the value of the td using css selector? In this case it's "unique text"

<td class="someclass" colspan="3">
   unique text
</td>

回答1:

You could use something like this,

With CSS Selector,

 By.cssSelector("td[class='someclass'][value='unique text']");

For more information on using css selector, See here



回答2:

We can create a XPath something like the below:

//td[contains(text(), 'unique text')]


回答3:

Using the following XPath always gives me expected result and performance. See my another answer here

//td[.='unique text'] 


回答4:

WebElement element = driver.findElement(By.cssSelector("input[value='value to be taken']")); //This line is to select Radio Button

element.click();



回答5:

You may use the CSS method to locate the element by its class name.

css=".someclass"

See more examples here.



回答6:

You can locate the WebElement either using dynamic xpath or dynamic css

css-

WebElement css = driver.findElement(By.cssSelector("td#someclass"));

xpath-

WebElement xpath = driver.findElement(By.xpath("//td[text,'unique text']"));