Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/86: Рейтинг темы: голосов - 86, средняя оценка - 4.69
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734

Заполнение веб формы

11.07.2015, 08:13. Показов 17885. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем, привет. Столкнулся с такой проблемой, пытаюсь заполнить поля на сайте, но не могу увидеть форму ввода логина и пароля.
попытка с mechanize
Python
1
2
3
4
5
6
7
8
9
10
import cookielib
from mechanize import Browser
 
br = Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
br.open('https://account.cyberghostvpn.com//en_us/login')
for f in br.forms():
    print f.name
в ответ ничего.

попытка с grab
Python
1
2
3
4
5
6
7
from grab import Grab
 
g = Grab(log_file='out.html')
g.go('https://account.cyberghostvpn.com//en_us/login')
g.set_input_by_xpath(".//*[@id='loginForm']/input[1]","логин")
g.set_input_by_xpath(".//*[@id='loginForm']/input[1]","пароль")
g.submit()
в ответ
Кликните здесь для просмотра всего текста
ERROR:root:Call to deprecated function set_input_by_xpath. Use grab.doc.set_input_by_xpath instead.
Traceback (most recent call last):
File "grabTest.py", line 8, in <module>
g.set_input_by_xpath(".//*[@id='loginForm']/input[1]","логин")
File "/usr/local/lib/python2.7/dist-packages/grab/util/misc.py", line 26, in new_func
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/grab/deprecated.py", line 331, in set_input_by_xpath
return self.doc.set_input_by_xpath(xpath, value)
File "/usr/local/lib/python2.7/dist-packages/grab/document.py", line 535, in set_input_by_xpath
if parent.tag == 'form':
AttributeError: 'NoneType' object has no attribute 'tag'


подскажите как мне поля заполнить на этом сайте?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.07.2015, 08:13
Ответы с готовыми решениями:

Заполнение веб формы
Добрый день. Хочу попробовать заполнить форму на сайте через компонент webbrowser Подскажите с чего начать? На форме есть и кнопки и...

Заполнение веб-формы приложением
Добрый день. Нужна подсказка в следующем вопросе: Имеется веб-страница с одним текстовым полем и одной кнопкой. Хочу написать приложение...

Программное заполнение веб-формы
Всем привет. Купил книгу MS Visual C++ 2010 в среде .NET. Автор В.Зиборов. Есть параграф &quot;Программное заполнение веб-формы&quot;. Там...

29
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
12.07.2015, 20:20  [ТС]
Студворк — интернет-сервис помощи студентам
интересно вы тему раздули) толи вы обленились, толи у вас интернет слабый что вам 15мегабайт скачать составит трудности) я реализовал задачу с помощью selenium. хотя может и Ghost.py больше подошел бы, но мне переписывать и заново разбираться не охота. кстати вот вы спорите, а сами даже не подумали
Цитата Сообщение от ivlevdenis Посмотреть сообщение
Лучше будут воспользоваться связкой Selenium + PhantomJS!
подойдет если нужно выполнять работу с демонстрацией результата. да и вообще в основном Selenium нужен для тестов. но мы не об этом мы о логике применения инструментов, коих много) а еще я не понял для чего нужен PhantomJS. у меня все и без этого завелось.
Цитата Сообщение от alex925 Посмотреть сообщение
Раз через selenium работает, значит, скорее всего оно так и есть, тогда это можно решить через
http://jeanphix.me/Ghost.py/
я так понимаю тут не будет окна веб браузера, что говорит нам о целесообразности использования если не нужно показывать окно браузера. вот и все.
А все проблемы с зависимостями это уже побочное явление. Опять же от задачи зависит о чем выше описал. Так что если нужно и Qt скачаете))) чувствуете как быстро исчез смысл ваших дебат?))
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.07.2015, 20:31
Цитата Сообщение от Wi0M Посмотреть сообщение
подойдет если нужно выполнять работу с демонстрацией результата.
Если использовать PhantomJS, то не будет окна браузера. Я об этом раньше не был в курсе, не использовал selenium в таком ключе. Так, что это в принцепи вполне себе годный вариант, но я его не пробовал использовать. Работал только если подключаться к какому либо из графических брайзеров. По этому подробностей не знаю.
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
12.07.2015, 20:34  [ТС]
о как) спасибо буду в курсе) может когда нибудь я и попробую этот вариант) кстати, как проще через selenium + PhantomJS или Ghost.py?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.07.2015, 20:38
Цитата Сообщение от Wi0M Посмотреть сообщение
толи вы обленились, толи у вас интернет слабый что вам 15мегабайт скачать составит трудности)
Ну этот спор актуален если смотреть в разрезе того где и как будет использоваться проект (будет собираться exe или это серверная часть и т д) или в том плане какие библиотеки вообще используются уже в проекте ну, так-же что уже знакомо.
В принципе тащить очень тяжёлые зависимости и не использовать их глупо, по этому спор обоснован. Просто если в проекте уже применяется pyqt на пример, будет более правильно использовать этот инструмент, а если нет то нужно рассматривать ситуации более подробно.

Ну, а вывод в принципе простой, что нужно знать контекст задачи, чтобы делать конечный вывод)

Добавлено через 51 секунду
Цитата Сообщение от Wi0M Посмотреть сообщение
кстати, как проще через selenium + PhantomJS или Ghost.py?
Я уже написал только что, все зависит от тебя и твоего проекта.
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
12.07.2015, 20:42  [ТС]
exe делаться не будет. все работает под ubuntu. библиотек тащится много)
Кликните здесь для просмотра всего текста
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from mechanize import Browser #не пугайтесь это из другого модуля
from lxml import etree
from subprocess import Popen, PIPE
import time, progressbar, re
import cookielib
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
12.07.2015, 20:45
Wi0M, Ну половина стандартные и это не много)
Что касается самого вопроса. Если ты уже работал с selenium то наверно тебе будет проще его использовать, ведь у тебя просто поменяется используемый браузер и все.

Кстати вот так не надо делать, не комильфо
Python
1
import time, progressbar, re
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
12.07.2015, 21:21  [ТС]
почему? у меня возникла проблема мне нужно было избавиться от всех пробелов в строке. нашел решение с использованием модуля re. амн... а модуль time мне нужен для того чтобы получить системное время и высчитать разницу между двумя отрезками времени. если вы подскажете другое решение двух этих проблем буду очень рад)
0
 Аватар для ivlevdenis
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
12.07.2015, 22:24
И самое лучшее решение по парсингу динамических страниц, это использование selenium + phantomJS.
Больше пояснять почему - не буду, читайте статьи в интернете.

Не по теме:


ps: 15 мб это очень много!

0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
13.07.2015, 15:00
Цитата Сообщение от Wi0M Посмотреть сообщение
почему?
Потому, что читаемость кода падает, импорт каждого модуля должен быть на новой строке
Python
1
2
3
import time
import progressbar
import re
Цитата Сообщение от Wi0M Посмотреть сообщение
нужно было избавиться от всех пробелов в строке
Для этого можно было просто вызвать метод replace и все)
1
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
13.07.2015, 15:01  [ТС]
спасибо) учту)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.07.2015, 15:01

Заполнение веб формы в WPF
в WinForms это выглядит примерно так: // логин webBrowser1.Document.GetElementById(&quot;login&quot;).SetAttribute(&quot;value&quot;,...

Заполнение веб формы в WebBrowser
Здравствуйте! Ищу информацию по заполнению веб формы, которая открывается в WebBrowser. В программе есть Edit'ы, TWebBrowser и кнопка....

Заполнение веб формы и вход на сайт
Всем привет. Задача состоит в следующем. необходимо авторизоваться на сайте при помощи компонента WebBrowser. Проблема состоит в следующем:...

Заполнение веб-полей формы из файла
Подскажите плиз. нужно заполнять поля на веб странице. начало загружаем веб страницу: procedure TForm1.FormCreate(Sender: TObject); ...

Заполнение полей веб-формы сайта в Chrome
Доброго времени суток, уважаемые участники форума. Очень давно сижу на просторах сети и пытаюсь найти более-менее понятную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru