【发布时间】:2021-08-18 20:09:32
【问题描述】:
我有一个画布元素,我正在尝试使用以下代码将鼠标悬停在画布元素上。它在 Chrome 中运行良好。但是在无头浏览器中,moveToElement 步骤没有错误,但是鼠标悬停没有在我想要的偏移处执行。我什至设置了偏移量工作的窗口大小,但它仍然没有按预期工作
Dimension bd = new Dimension(1296, 696);
driver.manage().window().setSize(bd);
canvasElementDimensions = driver.manage().window().getSize().toString();
WebElement canvas = driver.findElement(By.xpath(canvasElementXpath));
Dimension canvasDimension = canvas.getSize();
int canvas_center_x = canvasDimension.getWidth()/2;
int canvas_center_y = canvasDimension.getHeight()/2;
int mouse_hover_x = (canvas_center_x/-9)*2;
canvasElementXOffset = String.valueOf(mouse_hover_x);
int mouse_hover_y = (canvas_center_y/-9)*2;
canvasElementYOffset = String.valueOf(mouse_hover_y);
Actions action = new Actions(driver);
action.moveToElement(canvas, mouse_hover_x, mouse_hover_y)
.perform();
【问题讨论】:
-
请向我们展示您设置为
ChromeOptions opts = new ChromeOptions();的内容? -
尝试在执行移动后立即截屏,以确认无头页面是否真的看起来像它应该的样子
-
@Marek 我截图了,看起来一样。用户界面没有变化
-
@Prophet 我正在使用默认设置,我还没有设置 ChromeOptions
标签: java selenium selenium-chromedriver google-chrome-headless