【问题标题】:C# equivalent to Java Robot classC# 等价于 Java Robot 类
【发布时间】:2018-09-05 18:15:24
【问题描述】:

什么是 C# 等效于用于鼠标指针移动的 Java Robot 类?由于 Actions 类不能直接用于键盘和鼠标。我需要在 selenium n c# 中直观地移动鼠标指针。例如,如果我想从 Rediffmail 网站访问我的邮件,鼠标指针应该移动到地址栏,然后移动到用户名和密码文本框和登录按钮。鼠标指针应该随着我的测试中正在执行的操作而移动。

【问题讨论】:

  • 我使用Windows input simulator library...请注意,webdriver 不提供使用 C# 绑定在屏幕坐标中获取控制位置的直接方法...有一些属性,但尚未实现在 webdriver 中...您必须提出自己的逻辑来获取屏幕坐标中的控制位置..但是,您可以使用 selenium 获取相对于 Dom 的坐标。

标签: c# selenium selenium-chromedriver


【解决方案1】:

当您正在寻找与 Java Robot 类等效的 C# 模块时,可能有三种解决方案:

  • 如果您可以调整您的需求表单在视觉上移动鼠标指针突出显示用户名密码文本框 ,你可以从IJavaScriptExecutor获取ExecuteScript Method的帮助接口如下:

    IWebElement element = driver.FindElement(By.XPath("username_field_xpath"))
    ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].setAttribute('style','backgroud: yellow; border: solid 2px red')", element);
    
  • 另一种选择是使用Windows Input Simulator (C# SendInput Wrapper - Simulate Keyboard and Mouse) 作为她的 cmets 中提到的@Nish26。

  • 另一种选择是Global Mouse and Keyboard Library,它使用全局挂钩,可以从任何应用程序捕获鼠标和键盘事件。这些事件与出现在 Windows 控件上的事件非常相似。

对于第二个和第三个选项,您将找不到通过 WebDriver 进行交互的直接方式。也许您必须寻找量身定制的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2013-10-09
    • 2013-05-26
    • 2010-10-04
    相关资源
    最近更新 更多