c# - 为什么这个 Selenium 的拖放 C# 代码在 Chrome 上不起作用?
问题描述
这不起作用(例如:https://www.w3schools.com/html/html5_draganddrop.asp)
var item = WebDriver.FindElement(By.XPath(@"//img[@src='img_w3slogo.gif']"), 30);
var container = WebDriver.FindElement(By.XPath(@"//div[@id='div2']"), 30);
var actions = new OpenQA.Selenium.Interactions.Actions(this.WebDriver);
actions.DragAndDrop(item, container).Build().Perform();
System.Threading.Thread.Sleep(3000);
解决方案
如果有帮助的话......
public static void DragAndDrop(IWebElement element1, IWebElement element2)
{
WaitForElementEnabled(element1);
WaitForElementEnabled(element2);
var builder = new Actions(_webDriver);
var dragAndDrop = builder.ClickAndHold(element1).MoveToElement(element2).Release(element2).Build();
dragAndDrop.Perform();
}
public static void WaitForElementEnabled(IWebElement element)
{
try { _wait.Until(webDriver => element.Enabled); }
catch (StaleElementReferenceException) { if (!WaitForNotFoundElement_Enabled(element)) { LogFunctions.WriteError("Enabled - Stale Element Exception"); TakeScreenshot("elementNotFound"); throw; } }
}
推荐阅读
- neural-network - 训练神经微分方程时如何保证收敛?
- r - 使用 xlsx 包从 r 导出到 excel 时如何格式化千位分隔符?
- java - 为什么我的代码没有读取 java 中的第一个字符串输入?
- python - 如何从 /Filestore/tables/ 目录中的 databricks 中使用 pandad pd.read_excel 读取 excel 文件?
- android - 在 Jetpack Compose 中 Text 的最后一个单词处添加图标
- ios - 如何将自定义 C 代码制作成 SwiftPM 包?
- docker-compose - 无法使用 gRPC 客户端连接到 Dapr(自托管)
- flutter - 无法从 CMD 打开 Flutter 应用,但从 Android Studio 打开。Pubspec.yaml 错误
- ruby-on-rails - rails html文件打印数据库中不需要的数据
- python - 使用python将图像从目录的子目录移动到新目录