允许自动提交按钮点击的选择器

Selector that will allow automatic Submit button click

我有一个 'Submit' 按钮,该按钮在发生其他操作后变为可点击。在这种情况下,用户必须单击 TOS 复选框,然后按钮才能单击。我找不到允许我自动单击“提交”按钮的选择器。当您单击“提交”按钮时,将出现确认 window。

我使用量角器作为 Webstorm 的测试运行器。目前,测试通过了,但是我没有看到提交按钮被点击,也没有创建新帐户。我可以添加断言,但我需要知道如何找到要实际单击的元素。启动自动化后,XPath 和 CSS 似乎不起作用。

这是我要编辑的内容:

element(by.xpath('//*[@id="formHolderId"]/div/div/div[3]/span/button[2]')).click();

这是检查元素在选中 TOS 复选框之前显示的内容:

<button data-ng-click="modalOptions.ok(formData)" data-ng-disabled="formHolder.$invalid || formHolder.formHolder.$invalid" data-ng-if="modalOptions.actionButtonText" type="submit" class="btn btn-sm btn-submit ng-binding ng-scope ng-click-active" disabled="disabled">
        Submit</button>

这是选中 TOS 复选框后检查元素的样子:

<button data-ng-click="modalOptions.ok(formData)" data-ng-disabled="formHolder.$invalid || formHolder.formHolder.$invalid" data-ng-if="modalOptions.actionButtonText" type="submit" class="btn btn-sm btn-submit ng-binding ng-scope ng-click-active">
        Submit</button>

虽然未选中 TOS 复选框,但有一个 disabled="disabled" 但是无论哪种方式,我似乎都无法从中获得可点击的元素。

单击 TOS 复选框以启用该按钮,通过文本找到它并单击:

var submitButton = element(by.xpath("//button[contains(., 'Submit')]"));
submitButton.click();

如果由于某种原因您无法启用该按钮,因此使用 element.click() 单击它,您可以通过执行 javascript:

来模拟单击
browser.executeScript("arguments[0].click();", submitButton.getWebElement());