如何使用webdriver增加HTML表格列宽

时间:2013-11-20 13:47:05

标签: java javascript selenium webdriver selenium-webdriver

目前我正在尝试使用Selenium webdriver自动执行增加HTML表格列宽的步骤。

要知道我可以得到x和y坐标的索引 findElement(By.cssSelector("<Css locator>").getLocation();

但我想知道是否可以使用相同的概念来增加色谱柱的宽度。

3 个答案:

答案 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");
        }