无法选择表格中的元素

时间:2016-02-17 07:14:36

标签: selenium selenium-webdriver

我最近测试了Selenium,看它能否比QTP更好地识别我的网络应用程序。到目前为止,它似乎做得很好。我试图在table元素中找到一个元素时遇到了问题。一些我如何找不到主表而不是表中的行。

This is how the table looks like

以下代码工作正常......

WebElement BaseTable = driver.findElement(By.id("table_simpleBrowser|type=TradingInstrumentReport|!browser"));

以下代码不在哪里......

BaseTable = driver.findElement(By.id("table_simpleBrowser|type=TradingInstrumentReport|!browser_tr_1"));

BaseTable = driver.findElement(By.className("even status_DEFAULT"));

WebElement BaseTable = driver.findElement(By.id("table_simpleBrowser|type=TradingInstrumentReport|!browser"));
BaseTable = BaseTable.findElement(By.className("even status_DEFAULT"));

有人可以帮我告诉我如何通过查找表格中某一行/列中的元素来检索表格中的某个值吗?

感谢。

1 个答案:

答案 0 :(得分:1)

evenstatus_DEFAULT实际上是此网络元素的两个类。 By.className()只接收一个类作为参数。它应该是

findElement(By.className("even"));
// or
findElement(By.className("status_DEFAULT"));

要通过两个类查找元素,请使用By.cssSelector()

findElement(By.cssSelector(".even.status_DEFAULT")); // note the dot before each class name

然而,它似乎不够独特。我建议您按包含browser_tr_1

的ID进行搜索
findElement(By.cssSelector("[id*=`browser_tr_1`]"));