2013-05-06 1 views
2

Я очень новичок в разработке расширений Safari, и я не знаю никаких java, css или html.Взаимодействие с веб-страницей с использованием javascript-инъекции в расширении Safari

Я искал в Интернете способ взаимодействия с сайтом с использованием javascript-инъекции. В частности, я хочу заполнить две формы; имя пользователя и пароль, а затем нажмите кнопку «Войти».

Я узнал, что мне нужно использовать что-то вроде document.getElementById() и .click и .value, но я действительно не знаю, как подключить точки.

Любая помощь очень ценится!

С наилучшими пожеланиями, Tokke

ответ

2

я буду считать, что, когда вы говорите две формы, имя пользователя и пароль вы имеете в виду два текстовых входа, а затем отправить форму.

Что вы должны сделать, это:

  1. Выберите каждый ввод текста и изменить его атрибут value.
  2. Отправить форму

можно сделать с помощью следующего кода, при условии, что ваша форма имеет id="my-form", ваш вход имя пользователя имеет id="username" и ваш ввод пароля имеет id="password".

document.getElementById("username").value = "myusername"; // Select and fill username input 
document.getElementById("password").value = "mypassword"; // Select and fill password input 
document.getElementById("my-form").submit();    // Submit the form 
+0

Большое спасибо за ответ! Вот именно то, что я имею в виду. Веб-страница [link] (https://www.lectio.dk/lectio/143/login.aspx?lecafdeling=4733693215), и я считаю, что идентификаторы «m_Content_username2», «m_Content_password2» и «m_Content_submitbtn2» соответственно. К сожалению, я не могу заставить его работать. Я вставил то, что вы написали, заменил идентификаторы и сохранил файл как .js-файл, используя Text Wrangler. Затем я добавил файл .js в качестве конечного скрипта, но я не могу заставить скрипт работать с расширением. Правильно ли я это делаю? Заранее спасибо! – Tokke

+0

Добро пожаловать. Если ответ решает вашу проблему, не забудьте отметить его как действительный ответ, нажав на галочку рядом с ним;) –

+0

@Tokke убедитесь, что в третьей строке вы используете 'aspnetForm' вместо' m_Content_submitbtn2'. В противном случае вы пытаетесь «отправить кнопку» вместо фактической формы. –