我正在尝试使用黄瓜和硒的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
答案 0 :(得分:1)
听起来有一个&#34; login-overlay&#34;控件顶部的元素。
作为一种解决方法,使其不可见:
client.execute("arguments[0].style.display = 'none';", client.element('.login-btn'));
未经测试。