如何选择硒的第一行?

时间:2015-08-06 11:59:38

标签: selenium-webdriver

我正在使用selenium来自动化我的应用程序。

屏幕上会显示一些系统生成的报告。

它有href链接的请求ID。如果我单击请求ID,我可以查看故障单的详细信息。

我不确定哪个请求ID用作LINKTEXT,因为它是系统生成的。在这种情况下,任何人都可以帮助我点击列表中的第一条记录或任何记录,以便我可以继续。

我可以获取属性值并在linkText中使用它。但我不确定除此之外的任何简单方法。

由于

1 个答案:

答案 0 :(得分:1)

我假设您有一个类似下面的场景,您需要在下面的案例中选择第一个元素70

示例Html

<html>
<body>
<A id=ViewGrid_lnk0 onclick="return OpenWindow('requst.aspx', 'ViewGrid', 1);" href="xx.xxx.xxx.xxx/Request.aspx#">70</A>
<A id=ViewGrid_lnk0 onclick="return OpenWindow('requst.aspx', 'ViewGrid', 1);" href="xx.xxx.xxx.xxx/Request.aspx#">30</A>
<A id=ViewGrid_lnk0 onclick="return OpenWindow('requst.aspx', 'ViewGrid', 1);" href="xx.xxx.xxx.xxx/Request.aspx#">40</A>
<A id=ViewGrid_lnk0 onclick="return OpenWindow('requst.aspx', 'ViewGrid', 1);" href="xx.xxx.xxx.xxx/Request.aspx#">50</A>
<A id=ViewGrid_lnk0 onclick="return OpenWindow('requst.aspx', 'ViewGrid', 1);" href="xx.xxx.xxx.xxx/Request.aspx#">60</A>
</body>
</html>

<强>的xpath

//a[contains(@href,'Request.aspx#') and @id='ViewGrid_lnk0']

上面的xpath将列出所有标识为ViewGrid_lnk0的元素和包含字符序列的href属性(Request.aspx#

Java代码

//store the Webelements in a list
List<WebElement> divs = driver.findElements(By.xpath("//a[contains(@href,'Request.aspx#') and @id='ViewGrid_lnk0']"));
//click the first element in list           
divs.get(0).click();//in the above case it will select 70

您还可以通过更改get(index)中的索引来单击任何元素,或者使用简单的for循环遍历所有元素

希望这会对你有所帮助。如果您有任何疑问或者我误解了您的问题,请回复