【问题标题】:Drag and Drop does not work with headless chromedriver拖放不适用于无头 chromedriver
【发布时间】:2018-08-21 04:20:58
【问题描述】:

我正在使用 Selenium 和 Java 自动拖放。以下是用于在无头模式下使用 chrome 驱动程序执行拖放的代码。

Point classname = targetElement.getLocation();
int xcordi = classname.getX();
int ycordi = classname.getY();
Actions action = new Actions(driver);
action.clickAndHold(sourceElement).moveByOffset(xcordi, ycordi).release(targetElement).build().perform();

在无头 chrome 驱动程序中执行此操作时不会发生任何事情。但是,在非无头 chrome 驱动程序中,这可以正常工作并执行拖放操作。

注意 - 尝试使用 dragAndDropBy(source, target) 和 dragAndDropBy(source, xOffset, yOffset)。这两种方法都不适用于非无头镀铬

【问题讨论】:

标签: java drag-and-drop selenium-chromedriver headless-browser


【解决方案1】:

我认为我们无法帮助您调试 Chrome 浏览器与无头版本之间的差异。我不认为这是一个已知问题,也没有已知的解决方法。

一个建议:

  1. 使用 html 代码创建一个最小测试,您可以使用它来证明 dragAndDrop 只会在无头的情况下失败,然后公开发布。
  2. 然后创建一个铬错误:https://www.chromium.org/for-testers/bug-reporting-guidelines
  3. 从无头邮件列表寻求支持,链接到您的示例失败测试:https://groups.google.com/a/chromium.org/forum/#!forum/headless-dev

也许在创建最小测试时,您会弄清楚它为什么会起作用,但不适用于您的具体情况。应用程序的行为与无头而不是浏览器不同:)

【讨论】:

    猜你喜欢
    • 2015-09-24
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2019-04-12
    相关资源
    最近更新 更多