如何点击div中的某个位置

Jor*_*ans 4 nightwatch.js

我想在(非全屏)模式对话框下面的全屏div上执行单击.然而,似乎click事件自动以我的背景div的中心为目标,从而触及位于该div之上的内容(模态对话框本身).

如何指定点击发生的位置?

这是我的click命令的详细输出:

Element is not clickable at point (640, 436). Other element would receive the click: <label class="btn btn-default ">...

小智 6

问题的根源是通过将鼠标点击事件直接发送到元素而是通过屏幕坐标发送硒点击.因此,它无法逐点找到可点击(如详细输出中所述).

有两种可能的解决方法(针对您的情况):

1)单击元素位置,不与模态对话框重叠(全屏div的应用程序):

.moveToElement('.backdrop', 900, 10) // 900 is X offset
.mouseButtonClick(0)
Run Code Online (Sandbox Code Playgroud)

2)更好,通用的解决方案.通过注入的javascript直接发送点击事件:

.execute(function(selector) {
      document.querySelector(selector).click();
   }, ['.backdrop'])
Run Code Online (Sandbox Code Playgroud)