无法使用 Protractor 单击父元素之外的元素

Unable to click on elements that are outside of parent element using Protractor

我正在使用量角器为 Chrome 构建一些功能测试。这是我的场景:我必须打开一个 html 对话框并在其中打开一个下拉菜单,然后 select 从该下拉菜单中选择一个选项。该下拉菜单有大约 20 个选项,因此下拉选项列表从对话框中展开。我可以单击对话框内的选项,但不能单击对话框外的选项。 我得到的错误是:

Element is not clickable at point (123, 637). Other element would receive the click

有什么解决方法吗?

根据给出的信息,对我来说,您似乎正在尝试单独访问下拉选项元素,并且 select或者您在对话框内使用的元素不适用于对话框外的元素,所以我会建议向 select 元素嵌套所有选项(或在需要时创建一个)并单击元素作为该容器的子元素,它可能看起来像:

var dropDownOptions = element(by.id('optionsContainerId'))
                             .all(by.<options locator>);
dropDownOptions.get(<index of option>)
               .click();

通常,要访问父元素之外的元素(那些在您 select 编辑的当前元素之外的元素),您可以使用 by.xpath 定位器。有关详细信息,请参阅 docs