javascript - Javascript 中的 Selenium - 无法遍历多个站点 : sites. forEach(site => { driver.get(site).sleep(1000).then( do stuff... ) });

标签 javascript selenium testing

<分区>

我认为我的 driver.get(site) 调用设置错误,因为它们同时执行。我试图让 selenium 访问一个站点,做一些逻辑,暂停一下,然后通过访问另一个站点重新开始。不幸的是,这一切现在同时发生,导致浏览器在页面加载后立即重定向到数组中的下一个站点。

let webdriver = require("selenium-webdriver");
    let sites = [
    'https://www.site1.com'
    , 'https://www.site2.com'
    , 'https://www.site3.com'
];
let driver = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
sites.forEach(site => {
    driver.get(site).then(x => { 
        //   perform a mixture of send keys, clicks, and a mandatory delay
        Promise.all([
            promise1
            , promise2
            , driver.sleep(1000)
        ]).then(y => {

        }).catch(err => {

        })
    })
})

最佳答案

使用递归方法并从 .then(y => {}) 调用函数

let webdriver = require("selenium-webdriver");
let sites = [
    'https://www.site1.com'
    , 'https://www.site2.com'
    , 'https://www.site3.com'
];
let driver = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();

function doCheck( sites, ind ) {
    driver.get(sites[ind]).then(x => { 
        //   perform a mixture of send keys, clicks, and a mandatory delay
        Promise.all([
            promise1
            , promise2
            , driver.sleep(1000)
        ]).then(y => {
            if (sites.indexOf(sites[ind++]) !== -1){
                doCheck(sites, ind++);
            }
        }).catch(err => {

        })
    })  
}

doCheck( sites, 0 );

关于javascript - Javascript 中的 Selenium - 无法遍历多个站点 : sites. forEach(site => { driver.get(site).sleep(1000).then( do stuff... ) });,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53416251/

相关文章:

java - 代码无法编译不同的 PC Selenium

javascript - 如何使用 python selenium 单击 angularjs 链接?

Maven + Cucumber-jvm - 如何根据环境运行不同的功能子集

Javascript(下划线),更改 javascript 对象的函数

javascript - 有什么办法可以更改此处显示的任何文件以通过webpack进行部署?

javascript - 如何在使用 jQuery 单击按钮后跳转到特定幻灯片?

javascript - Svelte 应用程序错误 : converting string to boolean in the view fails

css - Selenium Webdriver中如何使用css或xpath获取验证码

actionscript-3 - 弹性单元测试

python - 自动检测测试耦合