【问题标题】:Drag and Drop not working in ChromeDriver 2.45.615291 Selenium拖放在 ChromeDriver 2.45.615291 Selenium 中不起作用
【发布时间】:2019-01-18 01:18:48
【问题描述】:

我尝试了所有在线解决方案,但无法解决此问题。拖放功能在带有 Chrome 驱动程序的 Selenium 中不起作用。这是我的代码

WebElement From = driver.findElement(By.xpath("//*[@id='drag1']"));
WebElement To = driver.findElement(By.xpath("//*[@id='div2']"));

//Tried this
Actions act=new Actions(driver);
act.dragAndDrop(From, To).build().perform();

//Also this
Actions builder = new Actions(driver);
Action dragAndDrop = builder.clickAndHold(From).moveByOffset(-1, -1).moveToElement(To)
        .release(To)
        .build();
dragAndDrop.perform();

我正在使用 Chrom 我尝试使用 Chrome 驱动程序 2.15 但出现异常 SessionNotCreated

这是我的 HTML

<script>
function allowDrop(ev) {
  ev.preventDefault();
}

function drag(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
  ev.preventDefault();
  var data = ev.dataTransfer.getData("text");
  ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>


<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
  <img src="img_w3slogo.gif" draggable="true" ondragstart="drag(event)" id="drag1" width="88" height="31">
</div>

<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

</body>
</html>

需要您的建议 - 谢谢!

【问题讨论】:

    标签: java html selenium drag-and-drop


    【解决方案1】:

    如果你想使用拖放,你可以使用sendKeys,所以它的工作与拖放相同,而不是传递元素 xpath,你需要在页面上传递操作,如 UP、DOWN 等。我的情况是这样的

            Actions action = new Actions(driver);
            action.sendKeys(Keys.PAGE_DOWN).build().perform();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多