Как сохранить переменную в JavaScript? - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу сохранить переменную и использовать ее там, где это необходимо, вместо того, чтобы писать повторяющийся document.querrySelector. Как я могу это сделать?

browser.executeScript("document.querySelector(\"tahitiapp\").shadowRoot.querySelector(\"tahitigroups\").shadowRoot.querySelector(\"vaadin-button[tabindex='0']\").click();")
  .then(function() {
    console.log('Export Download button is clicked');
    browser.sleep(5000);
  })

Я хочу сделать что-то вроде

varele = document ............... ele.click ();

Ответы [ 3 ]

0 голосов
/ 21 сентября 2019

Я не уверен, что это то, что вы спрашиваете, но вы можете добавить свойства в окно:

browser.executeScript('window.foo = () => document.querySelector("tahitiapp").shadowRoot.querySelector("tahitigroups").shadowRoot.querySelector("vaadin-button[tabindex=0]")')

И они будут доступны позже:

browser.executeScript('window.foo().click()')
0 голосов
/ 24 сентября 2019

Вы можете использовать by.js(), который оценивает выражение JavaScript как browser.executeScript

let vaadiBtn = element(by.js(function() {
  return document.querySelector("tahitiapp").
        shadowRoot.querySelector("tahitigroups").
        shadowRoot.querySelector("vaadin-button[tabindex='0']");             
}));

vaadiBtn.click()
0 голосов
/ 20 сентября 2019

Я думаю, что не переменная, а функция, которую вы можете вызвать:

    const myFunc = function () {
        return browser.executeScript("your script here;")
            .then(function() {
                console.log('Export Download button is clicked');
                browser.sleep(5000);
            });
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...