当前位置: 首页 > 知识库问答 >
问题:

硒拖放到不可见的位置

东方建修
2023-03-14

我尝试了好几种方法

情景1:

Actions builder = new Actions(driver);
builder.clickAndHold(curSourceElement).build().perform();
builder.moveToElement(curTargetElement).build().perform();
builder.release(curTargetElement).build().perform();    

方案2:

builder.clickAndHold(curSourceElement).build().perform();
builder.moveToElement(curTargetElement).clickAndHold(curTargetElement).moveByOffset(0,500).release(curTargetElement).build().perform();

还有很多其他方法,通过移动到放置位置并在其上添加等待,但它们似乎都不起作用。

当拖放位置不可见时,是否有其他方法进行拖放。

任何帮助都将不胜感激。

谢谢

共有1个答案

墨宜人
2023-03-14

我的第一次尝试是这样的:

Size currentWinSize = driver.Manage().Window.Size;
driver.Manage().Window.Maximize(); //Remove window size as a concern

Actions builder = new Actions(driver);
builder.clickAndHold(curSourceElement);
builder.moveToElement(curTargetElement).Build().Perform();
sleepResponsibly(2000); //Give handler time to react. After working replace 
                        // sleep with wait on ExpectedConditions
builder.release(curTargetElement).build().perform(); 
driver.Manage().Window.Size = currentWinSize; // Put window size back

public void sleepResponsibly(int timeMillisecond){
    try{
        Thread.sleep(timeMillisecond);
    } catch (InterruptedException ex) {
        Thread.currentThread().interrupt(); 
        throw new RuntimeException(ex);
    }
}

顺便说一句,我用Windows运行所有测试。Maximize(),但如果没有,则包含该步骤。此外,如果悬停事件处理程序打开一个新元素作为目标,则需要等待该新元素可单击,然后在该新目标上释放。只有你知道你的代码是如何设计的。

 类似资料:
  • 当用触发时,事件错误表示元素不可见

  • 在安装了最新浏览器的情况下使用Selenium w/Java绑定和ChromeDriver 2.3 在花了足够多的时间试图找到一个解决方案后,我现在被难倒了。我正在尝试将一个元素拖放到另一个元素。唯一需要注意的是,我需要移动到的元素目标只有在移动源元素后才可见。有什么建议吗? 因此,这里是我点击并按住的源元素的屏幕截图,然后拖动它,我也可以删除两个选项: 元素是源 因此,当我按住鼠标并拖动一小部分

  • 问题内容: 我的任务是编写一个解析器以单击网站上的一个按钮,但我只能单击其中一个按钮而遇到问题。以下代码适用于除一个按钮之外的所有按钮。 这是html:http: //pastebin.com/6dLF5ru8 这是源html:http: //pastebin.com/XhsedGLb python代码: 我收到此错误。 根据赛富尔,我刚刚尝试等待相同的元素不可见异常: 问题答案: 如果你看一下页

  • 我在一个2D游戏中使用Unity(我对它还是很业余的),虽然使用create->ui->image添加一个新的sprite工作很好,但无论我从资产文件夹中拖放一个图像,它总是位于我为画布设置的背景后面,不管我是否使用更高的排序顺序,如果图像是画布的子级,或者图层对我的所有画布元素都是相同的(UI或默认)。在尝试拖动动画时也会得到相同的结果。 我在某个地方读到画布有点像另一个UI元素,图像必须是它的

  • 我用的是C#硒。WebDriver.2.44.0在某个第三方网站上,我试图按下一个元素并得到这个: 我得到了元素,点击我得到了: 该项目是在一些子菜单显示后,我成功地按下父菜单。也放5秒睡眠保险点手风琴看的很清楚(在我眼里也是看的很清楚)。 问题 - 在第三方网站上,如何强制点击此项目?

  • 我尝试在Unity3D中制作一个拖放函数。它应该如何工作:我有一个物体在地面上,我想能够仅仅拖动它在地面周围。 我只想改变x和z的位置。 遗憾的是,没有教程能帮我解决这个问题。我尝试了光线投射和它工作‘选择’对象,但我不能改变位置。我设法编写了一个脚本,向我显示鼠标在世界空间中的位置,但它实际上并不起作用。有人能帮我解释一下代码是怎么工作的吗? 我需要什么步骤来使它工作?