【问题标题】:Need script to click webelement x, y using javascript需要脚本来点击 webelement x, y 使用 javascript
【发布时间】:2019-02-14 14:52:42
【问题描述】:

在 Selenium 中,我们使用动作来点击带有 X 和 Y 的元素

action.MoveToElement(element, X, Y).Click().Build().Perform()

我需要使用 Javascript 来实现此功能。 JS中可以吗?

【问题讨论】:

  • 如果你搜索得当,你会得到document.elementFromPoint(x, y).click();
  • 上述动作命令从元素(WebElement)获取x、y坐标。但是在document.elementFromPoint,我需要传递webelement。
  • 你没有。如果该点上有一个元素,则document.elementFromPoint(x, y) 将返回该元素,.click() 是执行点击的函数。

标签: javascript c# selenium


【解决方案1】:

您可以使用以下代码:

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("arguments[0].dispatchEvent(new MouseEvent('click', {'view': window,'bubbles': true,'cancelable': true,'clientX': arguments[0].getClientRects()[0].left + arguments[1],'clientY': arguments[0].getClientRects()[0].top + arguments[2]}))",element, offsetX, offsetY);

来自Selenide Framework 的代码。
详情https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/MouseEvent

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-04
    • 2012-05-05
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    相关资源
    最近更新 更多