gpt4 book ai didi

angularjs - 元素在点 (215, 251) 错误时不可点击

转载 作者:行者123 更新时间:2023-12-04 21:12:04 24 4
gpt4 key购买 nike

我有一个非 Angular 的应用程序,我在其中单击一个链接并出现一个新的弹出模式。然后我可以选择上传图片或视频。我告诉 Protractor 和/或网络驱动程序点击上传照片按钮。

如果我使用:

var addPhotos = element(by.css('#px-select-photo')).click();

我可以直观地看到按钮被按下,但是测试失败了,并且错误无法点击...(215, 251)

然后我想我可以欺骗它点击 x y 位置(我假设错误中的这两个数字是)并且我什么也没得到

我使用的代码是:
browser.actions().mouseMove({
x: 702,
y: 621
}).click().perform();

它点击,但不在按钮上。

最后我试过这个:
var addPhotos = element(by.css('#px-select-photo'));
browser.executeScript('arguments[0].scrollIntoView()', addPhotos.getWebElement());
browser.actions().mouseMove(addPhotos).click().perform();

这也没有结果。

此外,我收到此警告:

WARNING - more than one element found for locator By.cssSelector("#px-select-photo") - the first result will be used



但是,html文件中只有一个元素,也不知道那是什么。

最佳答案

警告可能是解决问题的关键。

使您的选择器更加具体并等待上传按钮变得可点击:

var EC = protractor.ExpectedConditions;
var addPhotos = element(by.css('#pxupload3 input#px-select-photo'));

browser.wait(EC.elementToBeClickable(addPhotos), 5000);
addPhotos.click();

另一种选择是通过 px-select-photo 获取所有元素id 和过滤器可见:
var addPhotos = element.all(by.css("#px-select-photo")).filter(function (addButton) {
return addButton.isDisplayed();
}).first();
addPhotos.click();

关于angularjs - 元素在点 (215, 251) 错误时不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32588999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com