Как использовать Wait в Selenium-Webdriver с NodeJs и JavaScript? - PullRequest
1 голос
/ 17 марта 2020

Я пытаюсь сделать следующее:

  • Go для поиска в Google
  • Поиск случайного имени
  • Подождите, пока страница загрузится
  • Go внизу страницы
  • Нажмите «Далее на следующую страницу»

Однако, в моем «Ждать», по какой-то причине, Далее нажимается дважды , Есть ли надлежащая документация или учебное пособие о том, как использовать «Ожидание» в Selenium-Webdriver с JavaScript?

const { Builder, By, Key, until } = require('selenium-webdriver');

require('geckodriver');
const faker = require('faker');

const searchGoogle = async () => {
    let name = faker.name.findName();
    let driver = await new Builder().forBrowser('firefox').build();

    try {
        await driver
            .manage()
            .window()
            .maximize();
        await driver.manage().deleteAllCookies();

        await driver.get('https://www.google.com/');
        await driver.findElement(By.name('q')).sendKeys(name, Key.RETURN);

        await driver.wait(() => {
            until.titleIs(`${name}  - Google Search`);
            driver.executeScript('window.scrollTo(0, document.body.scrollHeight)');
            driver.findElement(By.xpath("//span[contains(text(), 'Next')]")).click();
        }, 1000);
    } catch (err) {
        console.error(err);
    } finally {
        // driver.quit();
        console.log('complete!');
    }
};

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