当前位置: 首页 > 知识库问答 >
问题:

如何在selenium webdriver中找到并单击动态表中的记录

丁慈
2023-03-14

下面是我的代码,谁能给出一个更好的方法吗?

WebElement tasktable=driver.findElement(by.xpath(“/html/body/div[2]/div[2]/div/div[3]/div/div[2]/div/div[3]/div/div[2]/div/div[3]/div/div/div[3]/div/div/div[2]/div/div/table/tbody”));

List<WebElement> rows=tasktable.findElements(By.tagName("tr"));

System.out.println("Number of rows:"+rows.size());
String sColValue="Test1";
//String sRowValue="Status";
System.out.println("Searching for : "+ sColValue);  
 for(int rnum=1;rnum<=rows.size();rnum++)

    {

String sValue = null;
String rValue=null;
sValue = driver.findElement(By.xpath("html/body/div[2]/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div[3]/div/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div/table/tbody/tr["+rnum+"]/td[2]")).getText();
Thread.sleep(3000);
System.out.println("Name:"+ sValue);    
if(sValue.equalsIgnoreCase(sColValue))

    {
    System.out.println("Found : "+ sValue); 
    rValue = driver.findElement(By.xpath("html/body/div[2]/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div[3]/div/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div/table/tbody/tr["+rnum+"]/td[2]")).getText();
    System.out.println("Status:"+ rValue);
    Actions action= new Actions(driver);
    action.moveToElement(driver.findElement(By.xpath("html/body/div[2]/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div[3]/div/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div/table/tbody/tr["+rnum+"]/td[2]"))).doubleClick().build().perform();
    new Actions(driver).doubleClick(driver.findElement(By.xpath("html/body/div[2]/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div[3]/div/div[2]/div/div[3]/div/div[3]/div/div[2]/div/div/table/tbody/tr["+rnum+"]/td[2]"))).perform();
    Thread.sleep(3000);
    break;
    }
else {
    System.out.println("Name:"+ sColValue+ "is not found"); 
}

共有1个答案

孟翰海
2023-03-14

要查找comments元素中提供的内容,请使用以下xpath:

//div[text()="Referral Approved"]
 类似资料:
  • 问题内容: 这是我的代码。我想知道单击了哪个,然后在新框架中显示该ImageIcon。 e.getSource()无法正常工作… 问题答案: 如果将MouseListener直接添加到JLabel,则可以在JOptionPane中轻松显示按下的标签的图标: 例如:

  • 嗨,我需要textview点击事件 我使用游标从数据库加载列表数据: activity_list.xml fragment_status.xml

  • 问题内容: 在这种情况下,我需要使用Selenium api 查找并单击“ 关于” 链接,但无法执行此操作。 我所做的是 但它不起作用 问题答案: 以我的经验,Selenium API在这种方式上有很多缺陷。通常只能通过重新选择选择器来克服它们。例如,您可以尝试使用XPath选择器来获取元素: 另外,如果您尝试使用Internet Explorer,则可能不会单击该元素而是模拟按下Enter键来帮

  • 我有一个json,它有一个标签“msg”。现在,如果搜索结果以json格式显示,那么这个标签就不存在了。当搜索结果为0时,这个标签的值为not found。 现在我想检查这个标签是否存在。那么如何做到这一点 以下是未找到记录时的json示例:

  • 使用Ruby、Capybara、Selenium、Cucumber、XPath等在我的自动化项目中查找元素并单击的最佳方式是什么。 我需要单击并展开的HTML元素(equal accordion)是: 我目前使用XPath命令查找元素并单击,但效果不太好,因为它正在查找元素,但有时单击,有时不单击。

  • 我正在为一个应用程序编写测试,我没有访问源代码的权限,我身边的人也没有。在某个时刻,我插入登录/密码信息,登录按钮变为绿色,我可以点击它。但是,我无法自动执行该操作,因为即使我可以点击屏幕上的按钮,其“clickable”属性仍然为假,除了“enabled”属性之外的所有其他属性都为假,即使按钮无法点击,该属性也始终为真。UIAutomatorViewer上节点详细信息的屏幕截图 我唯一能想到的就