Я целый день пытался нажать кнопку в автоматическом тесте, используя разные селекторы (id, class и href), но не смог. С ID проще, но я тренируюсь с youtube, и после первого щелчка (в меню гамбургера) я не могу нажать ни на одной вкладке после этого (История, Подписки, Библиотека и т. Д. c ..)
const { Given, When, Then } = require('cucumber');
const { Builder, By, Key, until } = require('selenium-webdriver');
const { expect, assert } = require('chai');
let driver = new Builder().forBrowser('chrome').build();
Given('Youtube', {timeout: 2 * 5000}, async function () {
await driver.get('https://www.youtube.com/?gl=ES&hl=es');
});
When('Library', {timeout: 2 * 5000}, async function () {
await driver.findElement(By.id("guide-icon")).click();
});
When('Notice', {timeout: 2 * 5000}, async function () {
await driver.findElement(By.css("style-scope ytd-guide-entry-renderer")).click();
});
Также пробовал с Xpath (мне нужно найти определенные c части сети, и у меня есть несколько классов с одинаковыми значениями).
When('Notice', {timeout: 2 * 5000}, async function () {
await driver.findElement(By.xpath("//a[@href='/feed/history']")).click();
});
Файл функции в порядке.
Я получаю это сообщение каждый раз при запуске теста
NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"style-scope ytd-guide-entry-renderer"}
(Session info: chrome=80.0.3987.132)
Спасибо, ребята;)