【问题标题】:Selenium click event does not trigger angularjs eventSelenium 点击事件不会触发 angularjs 事件
【发布时间】:2015-07-13 10:35:46
【问题描述】:

我有这个页面,其中有一个 angularjs 模态内容弹出窗口,在那里我填写了一些字段并单击保存。启动保存后,弹出窗口应该会消失一个事件应该发生等等。

我的 selenium 测试完美地完成了所有这些,除了当它点击保存按钮时,弹出窗口消失但没有触发或保存任何事件,所以当我再次打开窗口时,一切都是空的。我用硒尝试了我知道的东西,但它仍然不起作用。有谁能帮帮我吗?

这是保存按钮:

<button class="save-button" data-ng-click="onSettingsSave()" ng-hide="readOnlyMode || !canSave()">Save</button>

我试过的东西:

var saveButton = driver.FindElement(By.CssSelector("button.save-button"));
saveButton.Click();

var saveButton = driver.FindElement(By.XPath(saveXpath));
saveButton.SendKeys(Keys.Enter);

((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].focus();",saveButton);
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click();",saveButton );

【问题讨论】:

  • 你得到什么样的异常?
  • 没有例外,一切都像它的工作正常,但当点击通过“保存”按钮上的硒发生时,什么都没有保存。窗口只是关闭而没有触发“onSettingsSave()”函数,因此没有任何保存。

标签: javascript angularjs selenium


【解决方案1】:

尝试使用纯 JS 强制点击元素:

driver.execute_script("arguments[0].click();", yourElement)

【讨论】:

    猜你喜欢
    • 2015-12-06
    • 1970-01-01
    • 2020-12-27
    • 2013-05-19
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多