Загрузите JS-скрипт из файловой системы и выполните его с селеном

Я пытаюсь выполнить сценарий yui js с помощью метода js.executeScript Selenium. Сценарий выполняется веб-драйвером selenium для имитации "щелчка" по гибридному мобильному приложению (кнопка веб-просмотра)

 String IncludeYUI = "script = document.createElement('script');script.type = 'text/javascript';script.async = true;script.onload = function(){};script.src = '"
                    + YUI_PATH
                    + "';document.getElementsByTagName('head')[0].appendChild(script);";
            js.executeScript(IncludeYUI);

где YUI_PATH - это URL - https://cdnjs.cloudflare.com/ajax/libs/yui/3.18.0/yui/.....

Проблема в том, что у меня нет доступа к глобальной сети с текущего сайта.

поэтому я думал сохранить скрипт под проектом и просто загрузить его из ФС. Но это JS, нет доступа к ФС...

Есть идеи как загрузить скрипт?

Спасибо

2 ответа

Наконец, после многих попыток some1 предложил мне поработать с jquery. после некоторого копания я использовал executeScript с нажатием jquery, и это сработало...

$('#btn_login_button').trigger('tap');

Мне было интересно, все другие методы с щелчком и координаты элемента не работали

Итак, вы загружаете HTML-страницу где-то, верно? Концептуально вы должны загрузить свой JS-файл таким же образом: вы отправляете запрос на сервер для загрузки JS-файла, точно так же, как вы делали это для загрузки своей html-страницы.

Это будет выглядеть так:

<script src="scripts/yourFile.js">

Кроме того, я никогда не видел, чтобы кто-нибудь загружал файл js, как вы делаете в своем примере кода... Я бы определенно рекомендовал поместить тег script в ваш html.

Вы можете также разместить свой HTML-код; мы сможем оказать лучшую помощь. Я буду обновлять этот ответ соответственно, если это необходимо.

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