Рубрики
Без рубрики

Использование Python для загрузки пакетов JavaScript на любой веб-сайт

SeleniumBase позволяет загружать пакеты JavaScript из любой ссылки CDN на любой веб-сайт. Помечено Python, JavaScript, автоматизация.

SeleniumBase позволяет загружать пакеты JavaScript из любой ссылки CDN на любой веб-сайт.

Этот пример, ( Google_tour.py из селенбазы Примеры/Tour_examples/ папка), можно запускать с pteest После того, как вы клонировали и установили Seleniumbase от GitHub :

pytest google_tour.py

Поскольку CDN используется для удержания пакетов, вам больше не нужно использовать другие менеджеры пакетов, такие как NPM, Bower, или пряжа.

self.add_js_link(js_link)
self.add_js_link("https://cdnjs.cloudflare.com/ajax/libs/intro.js/2.9.3/intro.min.js")

Если вам интересно, насколько SeleniumBase делает это, вот полный код Python, который использует WebDriver execute_script () Способ изготовления звонков JS после побегающих кавычек:

def add_js_link(driver, js_link):
    script_to_add_js = (
        """function injectJS(link) {
              var body = document.getElementsByTagName("body")[0];
              var script = document.createElement("script");
              script.src = link;
              script.defer;
              script.type="text/javascript";
              script.crossorigin = "anonymous";
              script.onload = function() { null };
              body.appendChild(script);
           }
           injectJS("%s");""")
    js_link = escape_quotes_if_needed(js_link)
    driver.execute_script(script_to_add_js % js_link)

Теперь, когда вы загрузили JavaScript в браузер, вы также можете загрузить некоторые CSS, чтобы согласиться с ним:

self.add_css_link(css_link)

Вот код, который загружает Introjs CSS:

self.add_css_link("https://cdnjs.cloudflare.com/ajax/libs/intro.js/2.9.3/introjs.css")

И вот код Webdriver Python, который делает это возможным:

def add_css_link(driver, css_link):
    script_to_add_css = (
        """function injectCSS(css) {
              var head = document.getElementsByTagName("head")[0];
              var link = document.createElement("link");
              link.rel = "stylesheet";
              link.type = "text/css";
              link.href = css;
              link.crossorigin = "anonymous";
              head.appendChild(link);
           }
           injectCSS("%s");""")
    css_link = escape_quotes_if_needed(css_link)
    driver.execute_script(script_to_add_css % css_link)

Туры на веб-сайте – это только один из многих способов использования менеджера пакета SeleniumBase JS.

И если вы просто заинтересованы в создании туров веб-сайтов с SeleniumBase, вот ссылка на Сайт Tours Readme Отказ

Оригинал: “https://dev.to/mintzworld/another-js-package-manager-3d85”