Protractor-在对话框容器中向下滚动以单击元素



我试图在对话框容器(对话框容器的图像(中使用量角器与一些隐藏元素交互,所以我尝试了很多选项,但都没有成功。(铬测试(

我的设置:I/status-硒独立版本可用:3.141.59[最后]

I/status-chromedriver可用版本:2.46、77.0.3865.10、80.0.3987.16[最后一个]

I/status-geckodriver版本可用:v0.26.0〔最后一个〕

I/status-IEDriverServer不存在

I/status-android sdk不存在

I/status-appium不存在

第一次尝试使用浏览器操作来向下翻页对话框并找到隐藏的元素:

placeSistema = element(by.css('element(by.css('[placeholder = "Sistema"]'))
this.clicaCampoSistema = async function () {
await browser.actions().sendKeys(protractor.Key.PAGE_DOWN).perform();
await placeSistem.click();
}

失败:sendKeysToActiveElement

第二次尝试使用mouseMove点击隐藏元素:

placeSistema = element(by.css('element(by.css('[placeholder = "Sistema"]'))
this.clicaCampoSistema = async function () {
await browser.actions().mouseMove(placeSistema).click().perform();
}

错误:超时-未在jasmine指定的超时内调用异步回调。DEFAULT_TIMEOUT_INTERVAL。

有人有什么建议吗?非常感谢!!!

  • 解决方案:在社区的帮助下,我使用了这段代码来解决我的问题

await browser.executeScript("arguments[0].click()", placeSistema);

这非常有效!

您尝试过将scrollIntoView与executeScript一起使用吗?这应该将该元素滚动到视口中

placeSistema = element(by.css('element(by.css('[placeholder = "Sistema"]'))
this.clicaCampoSistema = async function () {
await browser.executeScript('arguments[0].scrollIntoView(true)', placeSistema.getWebElement());
await placeSistem.click();
}

默认情况下,量角器将元素滚动到可见性中。使用element.click((将:

  1. 找到元素
  2. 滚动到它并将光标移动到元素的中心
  3. 执行单击

只要元素在DOM中,量角器就能够定位它们,只要有滚动条,量角仪就会知道如何使用它。

如果通常的元素.click((不起作用,您可以尝试使用browser.actions((

await browser.actions().mouseMove(elem).perform();
await browser.sleep(1000); // Shouldn't be necessary, but it might help
await browser.actions().click().perform();

或者只是

await browser.actions().mouseMove(elem).click().perform();

我以前遇到过由动画引起的将这两个命令放在一起的问题,所以我更喜欢将其拆分为两个不同的命令。

如果这些都不起作用,您可以尝试在功能中禁用w3c,因为在Selenium webdriver 4.0和protractor 6.0.0中不支持量角器使用的当前Actions Api,并且在当前chromedriver版本中仍然存在一些错误。

尝试以下脚本:

placeSistema = element(by.css('element(by.css('[placeholder = "Sistema"]'))
browser.executeScript(() => {
placeSistema .scrollIntoView();
}, el.getWebElement());
placeSistema.click()

相关内容

  • 没有找到相关文章

最新更新