Загрузите 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-код; мы сможем оказать лучшую помощь. Я буду обновлять этот ответ соответственно, если это необходимо.