我有一个应用程序,其中包含一个单击按钮,使用JS滚动页面。
我得到一个“元素在点(某点,某点)不可点击”错误,我认为这是因为selenium /量角器不知道动态滚动因此不等待它,我该如何设置在尝试下一步行动之前要等待的具体时间?
答案 0 :(得分:0)
您可以使用protractor expected conditions之类的
var EC = protractor.ExpectedConditions;
buttonThatScrolls.click();
var nextElement = $('#xyz'));
browser.wait(EC.presenceOf(nextElement), 10000);
nextElement.click();
答案 1 :(得分:0)
在点击:
之前,您可能还需要移动到元素browser.actions.mouseMove(elm).perform();
browser.executeScript("arguments[0].scrollIntoView();", elm);
请注意,有一个hacky变通方法 - 点击元素通过javascript :
browser.executeScript("arguments[0].click();", elm);
可能会按原样运作,但请确保您知道其中的差异:
而且,为了添加@nilesh的答案,elementToBeClickable
expected condition听起来更适合这种特殊情况:
browser.wait(EC.elementToBeClickable(elm), 5000);