从硒中的一组中选择第一个跨度值

时间:2014-03-11 02:02:31

标签: selenium selenium-webdriver

我想在页面中选择一个元素的第一个实例,其中存在许多这样的元素,其中“ID”始终不相同。

例如,访问,http://www.sbobet.com/euro列出了很多运动和赔率,我想点击第一个赔率。

enter image description here

并且html结构将是这样的,

enter image description here

我想点击第一个跨度值并继续进行一些测试用例。 有关如何实现这一目标的任何帮助吗?

4 个答案:

答案 0 :(得分:0)

问题可能有两种方法: 1.如果您确定您将始终只需要第一个实例:

driver.FindElementsByClassName("OddsR")[0];

如果没有,那么你有elemets的集合,你可以访问其中的一个 2.此外,您可以先识别任何最近的封闭div,然后您可以使用与上面相同的代码段:

driver.FindElementsByClassName("OddsR")[0];

如果页面本质上有点动态,那么这是一个更好的方法

答案 1 :(得分:0)

使用@class属性。如果您感兴趣的OddsR类是页面上的第一个,那么只需使用Driver.FindElement(By.ClassName(“OddsR”))。 Webdriver将选择第一次出现(无论是否有更多)

答案 2 :(得分:0)

检查了你的链接并且我同意alecxe,你应该从div开始。但我会建议一个更简单的选择器:

css = "div.MarketBd span.OddsR"

上面的选择器将始终指向“MarketBd”类div中“OddsR”类的第一个跨度。

答案 3 :(得分:0)

感谢您的回复。

我终于能够点击这个元素,通过这个XPATH,

"//span[@class='OddsR']"

点击第一次出现的' OddsR'值,没有给出任何索引。