selenium处理表格和元素display=none

selenium 处理元素display=none

1.利用action
场景:表格中,删除按钮需鼠标移至相应行后,删除按钮显示,然后点击删除按钮才可
代码:
selenium处理表格和元素display=none_第1张图片
解决方案:
1.模拟鼠标操作,移动鼠标至相应位置再点击
Actions action = new Actions(driver);
WebElement button = driver.findElement(By.xpath(“//*[@id=’table1’]/tbody/tr[1]/td[9]/div[@id=’editor’]”));//定位表格中的div
WebElement button1 = driver.findElement(By.xpath(“//*[@id=’table1’]/tbody/tr[1]/td[9]/div[@id=’editor’]/a”));//定位div上的删除按钮 action.moveToElement(button).click(button1).perform();//可点击删除按钮

2.利用js设置display属性值为block
JavascriptExecutor j=(JavascriptExecutor)driver;
j.executeScript(“document.getElementById(‘editor’).style.display=’block’;”);//设置display属性为block
j.executeScript(js);//执行js
// ((JavascriptExecutor)driver).executeScript(js);//也可以这样执行js
WebElement button1 = driver.findElement(By.xpath(“//*[@id=’table1’]/tbody/tr[“+r+”+1]/td[9]/div[@id=’editor’]/a”));//定位可见元素
button1.click();//点击

selenium 处理表格中元素定位

先定位到表格的tbody部分,再利用循环来遍历表格
WebElement tbody =driver.findElement(By.xpath(“//*[@id=’table1’]/tbody”));
List rows = tbody.findElements(By.tagName(“tr”));

 for ( int r = 0;r cols =row.findElements(By.tagName("td"));
     for(int c= 0;c

}
}
定位相应表格元素时,可使用
WebElement button = driver.findElement(By.xpath(“//*[@id=’table1’]/tbody/tr[1]/td[9]/div[@id=’editor’]”));

你可能感兴趣的:(selenium,chrome浏览器,selenium)