Получение разницы в количестве "общего количества ссылок" на веб-странице с помощью средств разработки Selenium и браузера

Я написал код для подсчета общего количества ссылок на веб-странице. Я использовал JavascriptExecutor в селене того. Но проблема в том, что я получаю другое количество для команды Java Script link на общее количество ссылок в Selenium и в консоли браузера. Вот подробности тестирования:

Тестируемый веб-сайт: https://www.ebay.com/ Тест: общее количество ссылок на домашней странице Ebay.

Селен код и результат:

WebDriver driver = new ChromeDriver();
    driver.get("https://www.ebay.com/");

    driver.manage().timeouts().implicitlyWait(20l, TimeUnit.SECONDS);

    JavascriptExecutor js = (JavascriptExecutor)driver;
    System.out.println(js.executeScript(" return document.links.length"));

Результат: 422

Но когда я выполнил то же самое в консоли браузера, я получаю 440. введите описание изображения здесь

Я не могу понять разницу здесь. Пожалуйста, кто-нибудь, помогите мне понять

1 ответ

Решение

Было бы довольно сложно ответить на ваш вопрос, так как вы не упомянули, на какой консоли браузера вы выполняли JavaScript команда:

document.links.length

Тем не менее Test Result который вы наблюдаете через ChromeDriver просто совпадает с моим быстрым результатом теста, который я наблюдаю через Chrome Development Console т.е. точная цифра 422. Смотрите снимок ниже:

document.links.length

Однако стоит упомянуть, что IEDriverServer а также GeckoDriver оба совместимы с W3C и Google Chrome а также PhantomJS все еще будучи совместимым с OSS делает HTML DOM Tree через разные протоколы и стандарты. Хотя разница в рендеринге DOM Tree Mechanism может быть незначительным, но delta разница в End Results достаточно, чтобы потерпеть неудачу Validation,

Следовательно, решением было бы всегда выбирать какой-либо один вариант (любой из IE / Firefox / Chrome / PhantomJS) из WebDriver / Web Browser комбинация для подтверждения Manual а также AutomatedTest Results,

Другие вопросы по тегам