gpt4 book ai didi

javascript - 在 Protractor 中加载页面之前单击对话框

转载 作者:行者123 更新时间:2023-12-03 07:14:37 24 4
gpt4 key购买 nike

目前,我正在尝试单击页面加载之前出现的对话框。我正在使用 browser.get(extentionHere) 函数以类似于此的方式加载页面:

it(..., 函数(){
browser.get('#/frontPage);
元素(dialogIdentifier).click();
当页面加载时, Protractor 在超时之前不会执行任何操作,对此行为的调查使我发现这是页面挂起的结果,因为页面的其余部分“等待”单击对话框。从本质上讲,URL 毫无意义,因为 Protractor 认为页面尚未加载,并将对话框视为更多的浏览器功能(事实并非如此)而不是网页。因此,element(...).click()没有执行,当然,程序也无法继续。在尝试寻找解决方案时,我发现了函数 browser.executeAsyncScript我认为这可能允许我按顺序执行多个函数。我的尝试(尽管是无知的)让我发现了这一点:

    browser.executeAsyncScript('browser.get("#/frontPage")').then(function () {  
element(dialogIdentifier)).click();
});

正如我提出这个问题所暗示的那样,它不起作用(给了我某种“浏览器不是函数”错误),如果我什至为了正确的目的而正确使用这个函数,它似乎适合账单;允许我单击该对话框。任何帮助将不胜感激(我不会限制任何功能的答案。所以请让我知道您有什么想法)。

提前致谢。

最佳答案

我假设 Angular 未加载,因为对话框在页面加载之前弹出。下面的代码告诉 Protractor 不要等待 Angular 同步,然后在单击对话框后恢复同步。

browser.ignoreSynchronization = true;
browser.get("http://www.google.ca").then(function () {
element(dialogIdentifier).click();
});
browser.ignoreSynchronization = false;

关于javascript - 在 Protractor 中加载页面之前单击对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483508/

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