按类型单击硒中的项目

时间:2019-06-12 21:20:49

标签: javascript css selenium

我要单击的元素没有名称或ID,并且每次刷新页面时类都会更改。 CSS中唯一一致的是值。硒如何按值单击元素?不必按值来具体说明,我只想单击该元素。

CSS:

<tr class="MuiTableRow-root-799 MuiTableRow-hover-801 _Table-cursor-794" val="4">

<tr class="MuiTableRow-root-799 MuiTableRow-hover-801 _Table-cursor-794" val="4">

driver.findElement(By.xpath("//option[@val='4']")).click()


driver.findElement(By.css('tr[val="4"]')).click()

将val的用语更改为值不会做任何事情。

没有足够的代表来发布图片: https://i.imgur.com/dlDM57E.png

3 个答案:

答案 0 :(得分:0)

如果您尝试基于该值单击td,则必须使用下面的xpath。

driver.findElement(By.xpath("(//tr[contains(@class,'MuiTableRow-root')])[1]//td[.='4']")).click()

在xpath中无法与value一起使用的原因是,没有与tr关联的value属性。

答案 1 :(得分:0)

您快到了,在XPath中,您可以使用@作为属性名称的前缀来选择attributes

//tr[@val='4']

演示:

enter image description here

更多信息:xpath - attribute

答案 2 :(得分:0)

尝试以下代码:

sender