我要在某些网站上自动化我要调整表“说明”列大小的功能,但是在使用下面提到的代码进行相同操作时,得到某种警告或错误,并且没有发生。
//这是我要更改宽度的“描述”列
WebElement descr = driver.findElement(By.linkText("Description"));
WebDriverWait wait = new WebDriverWait(driver, 25);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Description")));
int width_descr = descr.getSize().getWidth();
int height_descr = descr.getSize().getHeight();
System.out.println("Width of Description ="+width_descr);
System.out.println("Height of Description ="+height_descr);
int half_height_descr= height_descr/2;
System.out.println("Half of Height of Description ="+half_height_descr);
//Logger.getLogger("org.openqa.selenium").setLevel(Level.SEVERE);
Actions builder = new Actions(driver);
Action resizable = builder
.moveToElement(descr, width_descr, height_descr)
.clickAndHold()
.moveByOffset(width_descr, 0)
.release()
.build();
resizable.perform();
}
实际输出如下:-
Width of Description =242
Height of Description =27
Half of Height of Description =13
2019年4月1日晚上8:35:54 org.openqa.selenium.interactions.Actions moveToElement
信息:使用W3C Action命令时,偏移量是从元素的中心开始的-这是我进入控制台的警告。
并且UI上的列宽没有减小。
预期的输出:-我想减小列宽。
答案 0 :(得分:0)
如果这是HTML5格式-您不能使用Actions类以及Robot框架来做到这一点。
您可以尝试制作Web元素的屏幕截图并将其与Sikuli库进行交互,例如:https://github.com/alexandrchumakin/Relay42ApiTest/blob/master/src/main/java/web/driver/WebDriverHelper.java#L35
或者您可以实现将实现所有这些神奇功能的JQuery。