Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   открыть страницу и заполнить,ошибка null (https://javascript.ru/forum/css-html/51386-otkryt-stranicu-i-zapolnit-oshibka-null.html)

nipaahnipahnip 05.11.2014 13:13

открыть страницу и заполнить,ошибка null
 
Необходимо открывать страницу с рабочего стол и заполнять её.
Решил сделать на js(его не знаю).
Вот команда рабочая из консоли браузера
document.getElementById("loginUserName").value = "Текст";

Создал файл html
<html>
<head>
</head>
<body>
<script type="text/javascript">
var nwin  = window.open('http://192.168.1.3/');
alert(nwin.document.getElementById('loginUserName');
nwin.document.getElementById('loginUserName').value="text";  
</script>
</body>
</html>

Страницу открывает, а вот, получить элемент не может etElementById==NULL, пробывал sleep,paus не получилось

ksa 05.11.2014 13:15

Цитата:

Сообщение от nipaahnipahnip
получить элемент не может etElementById==NULL

Так то может там просто нет этого элемента... :)

nipaahnipahnip 05.11.2014 16:39

Цитата:

Сообщение от ksa (Сообщение 339111)
Так то может там просто нет этого элемента... :)

Я проверял в браузере инструмент разработчика - console js
там работает.

Aetae 05.11.2014 16:51

nipaahnipahnip, всё сложнее. Из-за политики безопасности вы не можете просто так взять и открыть произвольную страницу со своей и изменять её. Страницы должны находиться на одном домене(есть варианты, но для вас всё равно не актуально).

Если вас интересует исключительно практический аспект для личного пользования то в данном случае оптимальным является использование пользовательских скриптов.(Гуглите: "userscript [имя вашего браузера]")

Userscript будет выглядеть примерно так:
// ==UserScript==
// @name        192.168.1.3 userscript
// @namespace   all
// @include     htt*!**/!*p://192.168.1.3/*
// @version     1
// @grant       none
// ==/UserScript==

var loginUserName = document.getElementById('loginUserName');
loginUserName.value = 'text';


P.S. На будущее: в javascript нет ни sleep, ни pause, ни их подобия, т.к. остановка потока равносильна остановке самого браузера. В js используется отложенный вызов функции с помощью setTimeout. (опять же есть варианты, но совсем не для новичков)


Часовой пояс GMT +3, время: 14:31.