右键单击并使用 Selenium webdriver 拖放

Posted

技术标签:

【中文标题】右键单击并使用 Selenium webdriver 拖放【英文标题】:Right click and Drag and drop using Selenium webdriver 【发布时间】:2012-01-14 15:59:35 【问题描述】:

我正在使用 Selenium webdriver 开展一个 QA 自动化项目。

我需要在 Telerik rad 网格上执行拖放操作以重新排序列,然后右键单击网格以保存所做的更改。

有什么方法可以使用 selenium webdriver 实现这些吗?

谢谢。

【问题讨论】:

在 2013-14 年,我们这样做 - ***.com/questions/14210051/… 你使用什么编程语言? 【参考方案1】:

对于拖放,您可以尝试:

using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Firefox;    
using OpenQA.Selenium;

RemoteWebDriver driver =  new FirefoxDriver();
Actions action = new Actions(driver);
IWebElement sourceElement = FindElement(By.Id("id1"));
IWebElement targetElement = FindElement(By.Id("id2"));
IWebElement gridElement = FindElement(By.Id("grid"));
action.DragAndDrop(sourceElement, targetElement).Perform(); //drag&drop
Thread.Sleep(500); //if necessary
action.ContextClick(gridElement).Perform(); //right click

或者您可以为此使用 javascript

【讨论】:

谢谢。我仍然有右键单击的问题。右键菜单一显示就消失。我已经这样实现了: var context= action.ContextClick(gridElement).Build();上下文。执行();我还使用了 sleep 以使菜单不会消失,但这不起作用。【参考方案2】:

当它一出现就消失时,您可以单击相同的操作...就像

action.ContextClick(element).Click(x axis, y axis).build.perform();

它会起作用的..

【讨论】:

以上是关于右键单击并使用 Selenium webdriver 拖放的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Instagram 上的 chrome 移动视图中获取 .click(),而不是右键单击-[Instagram 上的 Selenium]

如何在python中使用Selenium WebDriver获取整个网页源[重复]

如何单击 Selenium WebDriver 中的隐藏元素?

Selenium WebDriver JAVA:如何单击 x,y 坐标?

如何使用 selenium webdriver 单击此按钮?

eclipse中配置Webdriver