пытаясь получить явное ожидание на этом веб-драйвере - PullRequest
0 голосов
/ 05 апреля 2019

поэтому я пытаюсь получить неявное ожидание для этого скрипта веб-драйвера, хотя я потерян, потому что последние три функции не работают, потому что нет активного элемента. хотя иногда это работает, если он загружается достаточно быстро.

Ошибка Error: no such element: Unable to locate element: {"method":"css selector","selector":"#pricing-search > pricing-search > div:nth-child(4) > pricing-actions > div > div:nth-child(1) > div > input:nth-child(3)"} (Session info: chrome=73.0.3683.86) (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17134 x86_64)

Я попытался добавить ожидание и поместить его в свою собственную асинхронную функцию. ни один не работал

(async function() {
    var title = await driver.getTitle();
    await driver.get('https://store.tcgplayer.com/admin/Pricing');

    await driver.findElement({id: "UserName"}).sendKeys("gameonsylva@icloud.com");
    console.log("oof");

    await driver.findElement({id: "Password" }).sendKeys("1Conjectio!");


    await driver.findElement({css:'#rightSide > div > div > div > div:nth-child(1) > form > input[type="submit"]'}).click();
//////////////////////////fails here////////////////////////////////////////////    

    await driver.wait(function () {
    return driver.findElement({css:'#pricing-search > pricing-search > div:nth-child(4) > pricing-actions > div > div:nth-child(1) > div > input:nth-child(3)'});
    }, 1000 * 60 * 2)
        .then(el => {return console.log(el.click())})
        .catch(err => console.log('Error: ', err.message));

    /*
    driver.wait(function () {
    return driver.findElement({css:'#divImporterUploadContainer > div:nth-child(2) > input[type="file"]'});
    }, 1000 * 60 * 2)
        .then(el => {return console.log(el.sendKeys('C:\\Users\\Game On\\Documents\\Pricing csv Excel Files\\generatedBy_react-csv(1).csv'))})
        .catch(err => console.log('Error: ', err.message));

    driver.wait(function () {
    return driver.findElement({css:'#divImportButtonContainer > input[type="submit"]'});
    }, 1000 * 60 * 2)
        .then(el => {return console.log(el.click())})
        .catch(err => console.log('Error: ', err.message));
    */


    //return driver.quit()
})();```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...