angularjs - Selenium 点击事件不会触发 angularjs ng-click

标签 angularjs selenium selenium-webdriver selenium-ide

我有这个页面,其中有一个文本框,并且有与每个文本框关联的保存按钮。我需要单击“保存”按钮,以便将值保存在文本框中。它是手动工作并使用 Selenium 。但是当通过 Selenium WebDriver 运行时,它不会保存文本框值。但没有抛出错误异常。输入,点击有效。 savetextvalue() 短期内不会被触发。 有类似问题Selenium click event does not trigger angularjs event

<pp-save-control fn-save-text="saveText();" btn-class="btn btn-default btn-mtl" button-id="btnkbaemailauthsub" place-holder-text="" input-class="tb-mtl" input-id="txtkbaemailauthsub" config-name="40" title-text="KBA email authentication subject" outer-container-class="div-mtl-header" class="ng-isolate-scope"><div class="div-mtl-header">
    <span class="label-mtl ng-binding">KBA email authentication subject</span><img ng-hide="(isHelpHidden != null &amp;&amp; isHelpHidden != 'true') ? false : true" class="help-mtl ng-hide" src="/Images/help.png">
    <div class="div-mtl-tb-holder">
        <input type="text" placeholder="" class="tb-mtl" name="txtkbaemailauthsub" id="txtkbaemailauthsub">
        <button ng-click="saveTextValue();" ng-hide="false" class="btn btn-default btn-mtl btn-mtl-alignment" name="btnkbaemailauthsub" id="btnkbaemailauthsub" type="button">save</button>
    </div>
</div>
</pp-save-control>

有多个文本框和关联的保存按钮。根据“配置值”(您可以在顶部看到)值的保存情况。

最佳答案

根据您的方便更换定位器

WebElement element= driver.findElement(By.id("btnkbaemailauthsub"));

JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);

或者

JavascriptLibrary jsLib = new JavascriptLibrary();
jsLib.callEmbeddedSelenium(driver,"triggerMouseEventAt", element,"click", "0,0");

或者

WebElement element= driver.findElement(By.id("btnkbaemailauthsub"));
// Configure the Action
Actions action = new Actions(driver);

//Focus to element
action.moveToElement(element).perform();

// To click on the element
action.moveToElement(element).click().perform();

希望对你有帮助:)

如果仍然遇到问题,请回复我:)

关于angularjs - Selenium 点击事件不会触发 angularjs ng-click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32499174/

相关文章:

javascript - AngularJS 多步表单 - 按回车键应转到下一步并在最后一步提交

selenium - Selenium Remote Control 和 Selenium Server 有什么区别?

java - 在远程 teamcity 构建代理上运行 selenium 自动化测试

selenium - 使用 css 选择器在精确元素中按精确文本查找元素

eclipse - 通过使用xpath,如何在Eclipse中通过Selenium Webdriver打印类名称

javascript - 这种情况适合 $q 吗?

Node.js:req.params 与 req.body

authentication - 如何使用 AngularJS ngView 为未经授权的用户隐藏模板?

selenium - Mink:在@BeforeStep中等待页面加载

node.js - 组织3个环境的测试用例