Я пытаюсь сделать следующее:
- 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();