繁体   English   中英

我可以单击带有硒的模态上的按钮吗?

[英]Can I click on a button on a modal with selenium?

我正在尝试使用带有黄瓜和硒的 chimpjs 来自动登录,但我们目前通过模态登录。 目前所有尝试点击该模式上的登录按钮都会导致相同的错误:

 Error: unknown error: Element is not clickable at point (764, 42). Other element would receive the click: <div class="login-overlay " style="display: block; opacity: 0.969096;">...</div>

这些是我为硒采取的步骤。 在输入用户名或密码之前,我正在等待模式出现,但是当我尝试单击登录按钮时,它失败了。

 module.exports = function() { this.Given(/^I am on the website homepage$/, function () { client.url('example.com'); }); this.When(/^I click the login button$/, function () { client.click('.navbar__link--login'); }); this.Then(/^I see the login screen$/, function () { client.waitForExist('.login-overlay'); }); this.Then(/^I enter my username in the email field$/, function () { client.setValue('#username', 'myemail@email.com'); }); this.Then(/^I enter my password in the password field$/, function () { client.setValue('#password', 'myemail@email.com'); }); this.Then(/^And I click the login button$/, function () { client.click('.login-btn'); }); };

目前一切都过去了,除了最后一步。 是因为我们使用模态登录吗? 或者有没有办法点击硒中模态上的按钮? 还是我错过了一个非常明显的步骤?

解决方案:我找到了一个解决方案,我无法点击元素,但是我能够通过client.submitForm(selector)选项进行表单提交。 这样做似乎解决了问题,我能够通过最后一步。 我还将最后一步更改为“我提交登录表单”以提高可读性。 您可以在此处查看有关表单提交选项的更多信息: http : //webdriver.io/api/action/submitForm.html

听起来控件顶部有一个“登录覆盖”元素。

作为一种解决方法,使其不可见

client.execute("arguments[0].style.display = 'none';", client.element('.login-btn'));

未测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM