Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 173
1

python+selenium

02.05.2013, 09:58. Показов 5383. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь изучать python+selenium (python 2.7, selenium 2), тестирую портал. HTML код тестируюемой страницы
<div class="new_position">
<a class="headerNav hnAdm" href="/admin.html">Конфигурация</a>
</div>
Нужно в тесте перейти по ссылке Конфигурация, пытаюсь найти нужную ссылку
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("http://***.ru")
link=driver.find_element_by_link_text("Конфигурация")
выходит ошибка
Traceback (most recent call last):
File "C:\Python27\firefox", line 11, in <module>
link = driver.find_element_by_link_text('Конфигурация')
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 241, in find_element_by_link_text
return self.find_element(by=By.LINK_TEXT, value=link_text)
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 675, in find_element
{'using': by, 'value': value})['value']
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 158, in execute
response = self.command_executor.execute(driver_command, params)
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\remote_connection.py", line 337, in execute
data = utils.dump_json(params)
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\utils.py", line 37, in dump_json
return json.dumps(json_struct)
File "C:\Python27\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Python27\lib\json\encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Python27\lib\json\encoder.py", line 264, in iterencode
return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xca in position 0: invalid continuation byte

Не могу понять в чем проблема...?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2013, 09:58
Ответы с готовыми решениями:

Selenium+python
Всем привет. Подскажите пожалуйста как работать с выпадающими списками? Пытаюсь сделать так ...

Парсер Python Selenium
Товарищи, еще один вопрос... Помогите решить import time from bs4 import BeautifulSoup from...

Добавление Selenium к Python
Помогите разобраться что я делаю не так Добавляю Селениум с помощью пип инстал селениум Питон...

Python Selenium и FireFox 48+
Недавно обнаружил что отвалился WebDriver FireFox т.е. раньше работало, а теперь перестало(после...

Python selenium скачать конфиг
Hi У меня есть небольшая задача, я хочу скачать конфигурационный файл. Для этого использую...

6
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
02.05.2013, 10:22 2
Python
1
# -*- coding: utf-8 -*-
Попробуйте добавить в начало скрипта. Python 2.x не работает с юникодом по-умолчанию в отличии от 3-ей версии.
0
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 173
02.05.2013, 10:54  [ТС] 3
Добавил в начало скрипта # -*- coding: utf-8 -*-
появилось новое сообщение
Traceback (most recent call last):
File "C:\Python27\firefox", line 12, in <module>
link = driver.find_element_by_link_text('Конфигурация')
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 241, in find_element_by_link_text
return self.find_element(by=By.LINK_TEXT, value=link_text)
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 675, in find_element
{'using': by, 'value': value})['value']
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 160, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 149, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: u'Unable to locate element: {"method":"link text","selector":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u 0438\u044f"}' ; Stacktrace: Method FirefoxDriver.prototype.findElementInternal_ threw an error in file:///c:/users/user/appdata/local/temp/tmpx5ozpe/extensions/fxdriver@googlecode.com/components/driver_component.js
0
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
02.05.2013, 11:34 4
Забыл о указании типа строки.
Python
1
link=driver.find_element_by_link_text(u"Конфигурация")
Или же в импорт
Python
1
from __future__ import unicode_literals
0
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 173
02.05.2013, 16:55  [ТС] 5
Установил python 3.3, импортировал библиотеку selenium. Повторил тест
Python
1
2
3
4
 # -*- coding: utf-8 -*-
driver=webdriver.Firefox()
driver.get("http://***.ru")
link=driver.find_element_by_link_text(u"Конфигурация")
Сообщение
Traceback (most recent call last):
File "C:/Python33/probka.py", line 12, in <module>
link = driver.find_element_by_link_text(u'Конфигурация')
File "C:\Python33\lib\selenium\webdriver\remote\webdriver.py", line 241, in find_element_by_link_text
return self.find_element(by=By.LINK_TEXT, value=link_text)
File "C:\Python33\lib\selenium\webdriver\remote\webdriver.py", line 675, in find_element
{'using': by, 'value': value})['value']
File "C:\Python33\lib\selenium\webdriver\remote\webdriver.py", line 160, in execute
self.error_handler.check_response(response)
File "C:\Python33\lib\selenium\webdriver\remote\errorhandler.py", line 149, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: 'Unable to locate element: {"method":"link text","selector":"Конфигурация"}' ; Stacktrace: Method FirefoxDriver.prototype.findElementInternal_ threw an error in file:///c:/users/user/appdata/local/temp/tmpe57orp/extensions/fxdriver@googlecode.com/components/driver_component.js
Если изменить
Python
1
2
3
4
5
 # -*- coding: utf-8 -*-
from __future__ import unicode_literals
driver=webdriver.Firefox()
driver.get("http://***.ru")
link=driver.find_element_by_link_text("Конфигурация")
Сообщение
Traceback (most recent call last):
File "C:/Python33/probka.py", line 13, in <module>
link = driver.find_element_by_link_text('Конфигурация')
File "C:\Python33\lib\selenium\webdriver\remote\webdriver.py", line 241, in find_element_by_link_text
return self.find_element(by=By.LINK_TEXT, value=link_text)
File "C:\Python33\lib\selenium\webdriver\remote\webdriver.py", line 675, in find_element
{'using': by, 'value': value})['value']
File "C:\Python33\lib\selenium\webdriver\remote\webdriver.py", line 160, in execute
self.error_handler.check_response(response)
File "C:\Python33\lib\selenium\webdriver\remote\errorhandler.py", line 149, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: 'Unable to locate element: {"method":"link text","selector":"Конфигурация"}' ; Stacktrace: Method FirefoxDriver.prototype.findElementInternal_ threw an error in file:///c:/users/user/appdata/local/temp/tmpbb121u/extensions/fxdriver@googlecode.com/components/driver_component.js
0
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
02.05.2013, 17:42 6
А элемент вообще есть такой?

Не по теме:

Имхо mechanize проще.

0
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 173
02.05.2013, 19:56  [ТС] 7
Часть кода html
HTML5
1
2
3
4
<div class="new_position">
<a class="headerNav hnAdm" href="/admin.html">Конфигурация</a>
<a class="headerNav hnEp" href="/admin.html#ws-nc=Справочники=Сотрудники;РеестрСотрудников={}&menuItem=ЭлектронныеПодписи">Электронные подписи</a>
</div>
Возможно ли найти этот элемент другим способом через find_element_by_xpath(), не знаю что вводить в качестве аргумента этой функции. Может кто-нибудь подскажет?
0
02.05.2013, 19:56
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2013, 19:56
Помогаю со студенческими работами здесь

Python + Selenium + webdriver проверка на наличие элем
Ребята всем доброго времени суток. Вопрос вот в чём , при собирании данных (а именно цены и кол-во...

Python Selenium, запретить взаимодействие пользователю с браузером
Есть ли способ программно запрещать/разрешать пользователю взаимодействие с браузером? К примеру...

Никак не получается найти элемент , куда вводится комментарий на ютубе. Использую selenium python
Никак не получается найти элемент ввода комментария import time from selenium import webdriver...

Selenium+PhantomJS
Не могу понять в чем проблема. Парсю страничку kingtaro.com Проблема со временем, если я использую...

Python - момент истины. Python - как оружие возмездие против системы
Какие модули в python мне нужны для взлома баз данных? Перехвата информации? Внедрения в систему? ...

Cx_freeze python error in main script как исправить- Python
Пытался создать из .py .exe , но при запуске .exe получаю ошибку вот код setup.py from cx_Freeze...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
Компьютер для начинающих
hw_wired 28.01.2025
Введение в мир компьютерных технологий В современном мире информация стала одним из важнейших ресурсов человечества, определяющим развитие общества и технологий. Наша жизнь неразрывно связана с. . .
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КуМир: решение геометрических задач
bytestream 28.01.2025
Программирование геометрических задач в среде КуМир становится всё более актуальным в обучении школьников и студентов. КуМир — это разработанная в России обучающая программная среда, предназначенная. . .
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
КуМир, исполнитель Чертежник: Решение задач
bytestream 28.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения основам программирования и алгоритмизации. Исполнитель Чертежник работает на координатной плоскости, где может. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru