我想在页面中选择一个元素的第一个实例,其中存在许多这样的元素,其中“ID”始终不相同。
例如,访问,http://www.sbobet.com/euro列出了很多运动和赔率,我想点击第一个赔率。
并且html结构将是这样的,
我想点击第一个跨度值并继续进行一些测试用例。 有关如何实现这一目标的任何帮助吗?
答案 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'值,没有给出任何索引。