Исполнитель JavaScript дает ноль при попытке доступа к window.propertyname - PullRequest
0 голосов
/ 10 мая 2019

Я вижу эти многочисленные свойства в консоли, если набрать window в консоли Chrome и нажать клавишу ввода.

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

Я пробовал:

String homepage = jse().executeScript("window.origin", "found homepage").toString();
System.out.println("home page is  "+homepage);

и

String location = "function show_homepage() {var homepage = window.location.origin;return homepage;}"
String homepage = jse().executeScript(location, "found if email validated or not").toString();
System.out.println("Answer is "+homepage);

Ссылка:

  1. оконный объект из селенавеб-драйвер - пустой массив
  2. https://www.softwaretestingmaterial.com/javascriptexecutor-selenium-webdriver/
  3. Просмотр списка всех переменных JavaScript в консоли Google Chrome

enter image description here

1 Ответ

0 голосов
/ 10 мая 2019

Я нашел решение. Ошибка, которую я делал, я не возвращал функцию во фрагменте JS. Я добавил еще одну строку return show_homepage();, и она заработала.

String location = "function show_homepage() {"+
            "var homepage = window.location.origin;"+
            "return homepage;"+
            "}"+
            "return show_homepage();";
Object str = js().executeScript(location, "");
System.out.println(str.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...