目前我正在尝试使用Selenium webdriver自动执行增加HTML表格列宽的步骤。
要知道我可以得到x和y坐标的索引
findElement(By.cssSelector("<Css locator>").getLocation();
但我想知道是否可以使用相同的概念来增加色谱柱的宽度。
答案 0 :(得分:2)
您可以使用Javascript Executor
WebDriver driver;
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.querySelector('<CSSLOCATOR>').setAttribute('width', <WIDTH>)");
您可以根据需要填写<CSSLOCATOR>
和<WIDTH>
。
答案 1 :(得分:0)
回答我的问题是简单使用jquery
$(selector).width(value);
示例用法 String aScript =“jQuery(\”“+ CSS_TABLE_HEADER_BY_COL_NAME +”\“)。width(%s)”;
jse.executeScript(aScript );
希望这能解决大多数人在硒中增加色谱柱宽度的问题。
答案 2 :(得分:0)
如果是静态表,那么我们可以添加attirbute(不是setAttribute,因为我们需要添加新的属性&#39; width&#39;)&#39; width&#39;用那个标签。
String tableJS = "document.getElementsByTagName('table')[0].style.width='1000px'";
js.executeScript(tableJS);
注意:如果单元格或表格宽度由外部CSS处理,那么这可能不起作用。
第二种方式:如果我们有可撤销表,那么我们可以找到&#39; resizer&#39;并使用Action类在以下解决方案中应用:
if (resizeableElement.isDisplayed()) {
Actions action = new Actions(driver);
action.clickAndHold(resizeableElement).moveByOffset(100, 100).release().build().perform();
} else {
System.out.println("Element was not displayed to drag");
}