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

python+selenium

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

Студворк — интернет-сервис помощи студентам
Пытаюсь изучать 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\webd river.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\webd river.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\webd river.py", line 158, in execute
response = self.command_executor.execute(driver_com mand, params)
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\remo te_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\util s.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
Всем привет. Подскажите пожалуйста как работать с выпадающими списками? Пытаюсь сделать так theme = &quot;sirius&quot; themeSelect =...

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

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

6
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
02.05.2013, 10:22
Python
1
# -*- coding: utf-8 -*-
Попробуйте добавить в начало скрипта. Python 2.x не работает с юникодом по-умолчанию в отличии от 3-ей версии.
0
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 178
02.05.2013, 10:54  [ТС]
Добавил в начало скрипта # -*- 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\webd river.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\webd river.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\webd river.py", line 160, in execute
self.error_handler.check_response(respon se)
File "C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\webdriver\remote\erro rhandler.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\u04 44\u0438\u0433\u0443\u0440\u0430\u0446\u 0438\u044f"}' ; Stacktrace: Method FirefoxDriver.prototype.findElementInter nal_ 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
Забыл о указании типа строки.
Python
1
link=driver.find_element_by_link_text(u"Конфигурация")
Или же в импорт
Python
1
from __future__ import unicode_literals
0
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 178
02.05.2013, 16:55  [ТС]
Установил 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\remo te\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\remo te\webdriver.py", line 675, in find_element
{'using': by, 'value': value})['value']
File "C:\Python33\lib\selenium\webdriver\remo te\webdriver.py", line 160, in execute
self.error_handler.check_response(respon se)
File "C:\Python33\lib\selenium\webdriver\remo te\errorhandler.py", line 149, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElement Exception: Message: 'Unable to locate element: {"method":"link text","selector":"Конфигурация"}' ; Stacktrace: Method FirefoxDriver.prototype.findElementInter nal_ 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\remo te\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\remo te\webdriver.py", line 675, in find_element
{'using': by, 'value': value})['value']
File "C:\Python33\lib\selenium\webdriver\remo te\webdriver.py", line 160, in execute
self.error_handler.check_response(respon se)
File "C:\Python33\lib\selenium\webdriver\remo te\errorhandler.py", line 149, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElement Exception: Message: 'Unable to locate element: {"method":"link text","selector":"Конфигурация"}' ; Stacktrace: Method FirefoxDriver.prototype.findElementInter nal_ 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
А элемент вообще есть такой?

Не по теме:

Имхо mechanize проще.

0
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 178
02.05.2013, 19:56  [ТС]
Часть кода 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2013, 19:56
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru