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

Selenium+python

14.03.2014, 07:13. Показов 6732. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Подскажите пожалуйста как работать с выпадающими списками? Пытаюсь сделать так
Python
1
2
3
theme = "sirius"
themeSelect =  Select(browser.find_element_by_name("theme"))
themeSelect.select_by_value(theme)
Если этот код выпонять на mail.ru, то все работает, но если на rambler.ru то возникает ошибка скрин
Изучая html странички я заметил, что список с option серого цвета и значения там не меняются, а меняется вот этот кусок
HTML5
1
2
3
4
5
<a id="domain_select" class="r-group r-group_inner r-input_w190 r-group_menu_f18" href="#" draggable="false" tabindex="1">
<b class="r-dropdown_text">@myrambler.ru</b>
<b class="r-dropdown_control"></b>
<i class="r-dropdown_arrow_down"></i>
</a>
Конкретнее 2-я строка. Вот я и думаю попробовать заменять текст <b class="r-dropdown_text">@myrambler.ru</b> на другой, но не знаю как...
А вообще задача состоит в следующем, нужно пройти регистрацию на рамблере, да еще так, чтобы все действия демонстрировались в окне браузера. Заранее спасибо за помощь.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2014, 07:13
Ответы с готовыми решениями:

python+selenium
Пытаюсь изучать python+selenium (python 2.7, selenium 2), тестирую портал. HTML код тестируюемой страницы &lt;div...

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

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

16
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
14.03.2014, 16:55
Wi0M, ну про действия на экране, это про selenium. А вот по поводу
Цитата Сообщение от Wi0M Посмотреть сообщение
Select(browser.find_element_by_name("the me"))
Я что-то не вижу в html( который вы выложили) элемента с таким именем...
1
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
14.03.2014, 17:29  [ТС]
да это и понятно, потому что я копировал этот кусок кода с примера которым руководствовался)
Python
1
2
3
theme = "ro.ru"
themeSelect =  Select(browser.find_element_by_name("profile.domain"))
themeSelect.select_by_value(theme)
Добавлено через 4 минуты
вот полностью код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver import Firefox
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
 
browser = Firefox()
browser.get("http://id.rambler.ru/profile/create/?back=http%3A%2F%2Fwww.rambler.ru%2F&rname=main")
theme = "lenta.ru"
themeSelect =  Select(browser.find_element_by_name("profile.domain"))
themeSelect.select_by_value(theme)
наимпортировал много потому что я все вчерашние сутки пытался решить задачу, и пробовал много много разных примеров.

Добавлено через 16 минут
вот понять я не могу, писал тоже самое на делфи, и все работает, через компонент TWebBrowser я получал списк всех option и просто помечал свойство checked нужной мне опции, а тут такая шляпа...

Добавлено через 7 минут
вот как я на делфи делал
Delphi
1
2
3
4
5
6
7
8
var
option_ole: Variant;
begin
option_ole:= WebBrowser1.OleObject.Document.all.tags('OPTION')
for i:= 0 to option_ole.length - 1 do
    if option_ole.item(i).value = "ro.ru" begin
        option_ole.item(i).checked:= "checked";
end;
сразу скажу, что писал по памяти.
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
19.03.2014, 17:24  [ТС]
вопрос все еще актуален
0
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
19.03.2014, 17:42
mechanize попробуйте
1
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
19.03.2014, 19:17  [ТС]
он не открывает окно браузера, а мне нужно чтобы оно открывалось, и мой скрипт с ним работал...
Цитата Сообщение от Wi0M Посмотреть сообщение
задача состоит в следующем, нужно пройти регистрацию на рамблере, да еще так, чтобы все действия демонстрировались в окне браузера
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.03.2014, 22:01
Wi0M, так, ладно, кидайте сюда форму регистрации( html).
1
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
19.03.2014, 22:30  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html>
<!-- saved from url=(0083)http://id.rambler.ru/profile/create/?back=http%3A%2F%2Fwww.rambler.ru%2F&rname=main -->
<html lang="ru" class="Linux Chrome v33 isBackgroundSize isBorderImage isTransform isTransition isBoxShadow isLinearGradient js" id="js"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta charset="utf-8">
  <title>Рамблер-Профиль: новый профиль</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <link rel="shortcut icon" href="http://id.rambler.ru/i/favicon.ico">
  <link rel="stylesheet" href="http://id.rambler.ru/css/profile.css">
  <script type="text/javascript" async="" src="./Рамблер-Профиль  новый профиль_files/ga.js"></script><script type="text/javascript" async="" src="./Рамблер-Профиль  новый профиль_files/saved_resource"></script><script>document.documentElement.id = "js"</script><style type="text/css"></style>
  <script src="./Рамблер-Профиль  новый профиль_files/jquery-1.8.2.min.js"></script>
  <script src="./Рамблер-Профиль  новый профиль_files/id.js"></script>
</head>
 
 
 <body class="m-register "><div style="display: none;"></div><div style="display:none"></div><style> .r-topline{color:#333;font-family:"Arial","Helvetica",sans-serif;height:36px;background:#333;padding:0;margin:0}.r-topline__sizefix{background:#333;padding:0 16px;margin:0 auto;position:relative;text-align:center;_zoom:1}.r-topline__logo{float:left;width:70px;height:28px;display:block;margin:4px 17px 0 0;padding:0;position:relative}.r-topline__logo-image{float:left;width:70px;height:18px;display:block;border:none;vertical-align:top;margin:4px 0 0;padding:0}.r-topline__logo-link{float:left;width:70px;height:28px;display:block;margin:0;padding:0;outline:none;position:absolute;top:0;left:0}.r-topline__projects{list-style:none;padding:0;margin:0}.r-topline__item{float:left;height:28px;display:block;margin:4px 2px 0 0;padding:0;font-weight:normal;text-align:left;*display:inline;zoom:1}.r-topline__link,.r-topline__link:link,.r-topline__link:visited{color:#ababab;font-size:13px;font-weight:bold !important;line-height:27px;text-decoration:none;height:28px;display:block;outline:none;padding:0 8px;margin:0;_display:inline;_zoom:1}.r-topline__link:hover,.r-topline__link:active,.r-topline__item_active .r-topline__link,.r-topline__item_active .r-topline__link:link,.r-topline__item_active .r-topline__link:visited{background:#484848;outline:none}.r-topline__item_all{position:relative}.r-topline__link:hover,.r-topline__item_active .r-topline__link,.r-topline__item_active .r-topline__link:link,.r-topline__item_active .r-topline__link:visited.r-topline__item_current .r-topline__link,.r-topline__item_current .r-topline__link:link,.r-topline__item_current .r-topline__link:visited,.r-topline__item_current .r-topline__link:hover{color:#fff}.r-topline__item_entry .r-topline__link{color:#fff}.r-topline__notice{color:#fff;font-size:10px;line-height:13px;background:#ff4f57;height:13px;display:inline-block;vertical-align:top;margin:0 0 0 1px;padding:0 3px;position:relative;top:8px;left:3px;*display:inline;zoom:1;*top:3px;_top:8px;_left:4px}.r-topline__link-text{cursor:pointer;_display:inline;_zoom:1}.r-topline__dropdown{display:none;background:#fff;border-width:0 1px 1px;border-style:solid;border-color:#b7b9b7;border-color:rgba(0,0,0,.2);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 1px rgba(0,0,0,.2);position:absolute;top:32px}.r-topline__item_all .r-topline__dropdown{width:352px;left:-123px}.r-topline__item_active .r-topline__dropdown{display:block}.r-topline__arr{width:0;height:0;display:none;overflow:hidden;vertical-align:top;border-width:3px 3px 0;border-style:solid;border-color:#888 #333;padding:0;margin:0 0 0 2px;position:relative;top:13px;left:3px;*top:8px;_top:13px}.js .r-topline__arr{display:inline-block;*display:inline;zoom:1}.r-topline__link:hover .r-topline__arr,.r-topline__item_active .r-topline__arr{border-color:#fff #484848}.r-topline__item_user .r-topline__arr{*top:13px}.r-topline__project-list{margin:0;padding:10px 0 9px;border-bottom:1px solid #d6d6d6;zoom:1}.r-topline__project-list:after{content:'';clear:both;width:0;height:0;display:block;overflow:hidden;padding:0;margin:0}.r-topline__list{list-style:none;padding:0;margin:0}.r-topline__dropdown .r-topline__list{font-size:13px;line-height:27px;white-space:nowrap;float:left;width:115px;overflow:hidden;*display:inline;*zoom:1}.r-topline__dropdown .r-topline__list-item{font-size:13px !important;line-height:27px !important;padding:0;margin:0 0 0 16px;*position:relative;*margin-left:0}.r-topline__dropdown a,.r-topline__dropdown a:link,.r-topline__dropdown a:visited{color:#05c;text-decoration:none}.r-topline__dropdown a:hover{text-decoration:underline}.r-topline__footer{font-size:11px;line-height:15px;display:block;padding:8px 16px 8px;margin:0;position:relative;*width:320px;*display:inline;*zoom:1}.r-topline__footer-line{overflow:hidden;padding:0;margin:0}.r-topline__footer-item{font-size:11px;line-height:15px;display:inline-block;vertical-align:top;margin-right:16px;padding-bottom:3px;*display:inline;*zoom:1}.r-topline__footer-item_soft{position:absolute;bottom:6px;right:0}.r-topline__item_entry{float:right;margin-right:0;margin-left:0}.r-topline__item_user{float:right;position:relative;margin-right:0;margin-left:0}.r-topline__useravatar{float:left;width:22px;height:22px;display:block;overflow:hidden;border:1px solid #292929;margin:2px 7px 0 -4px;padding:0;position:relative}.r-topline__useravatar-image{display:block;vertical-align:top;border:none}.r-topline__username{font-weight:bold;text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:inline-block;vertical-align:top;overflow:hidden;margin:0;padding:0}.r-topline__item_user .r-topline__dropdown{min-width:280px;right:-1px;_width:280px;zoom:1}.r-topline__user{min-height:50px;border-bottom:1px solid #d6d6d6;padding:13px 16px 14px;margin:0;_height:50px;*min-width:248px;zoom:1}.r-topline__user:after{content:'';clear:both;width:0;height:0;display:block;overflow:hidden;margin:0;padding:0}.r-topline__user-avatar{float:left;width:50px;height:50px;display:block;overflow:hidden;position:relative;padding:0;margin:0;*position:absolute;*top:13px;*left:16px}.r-topline__user-avatar-image{width:50px;height:50px;display:block;vertical-align:top}.r-topline__user-avatar-link{width:48px;height:48px;display:block;overflow:hidden;border:1px solid #bdbcb8;border-color:rgba(0,0,0,.1);position:absolute;top:0;left:0;width:47px\9;_width:48px}.r-topline__user-name{color:#333;font-size:15px;line-height:18px;display:block;margin:-1px 0 3px 63px;padding:0}.r-topline__user-mail,.r-topline__unknown-user{color:#333;font-size:11px;line-height:15px;display:block;margin:0 0 0 63px;padding:0}.r-topline__unknown-user{padding-top:9px}.r-topline__underuser{font-size:11px;line-height:28px;padding:0 16px;margin:0}.r-topline__underuser-item{margin:0 9px 0 0}.r-topline__underuser-item_logout{float:right;margin:0}.r-topline__social-icon{width:12px;height:12px;display:block;overflow:hidden;background-color:#fff !important;background-repeat:no-repeat;position:absolute;left:0;bottom:0}.r-topline__user-avatar .r-topline__social-icon{width:20px;height:20px;background-position:0 -13px}.b-ageicon{color:#8b8b8b;font-size:12px;font-style:normal;font-weight:bold;line-height:19px;text-align:center;float:right;width:31px;height:18px;display:inline-block;vertical-align:top;overflow:hidden;border:2px solid #8b8b8b;padding:0;margin:6px 32px 0 0;position:relative}.b-ageicon__hover{width:34px;height:22px;display:block;overflow:hidden;position:absolute;top:-2px;left:-2px}.r-topline__item_makehome{color:#ababab;font-size:11px;font-weight:bold;line-height:15px;float:left;height:15px;white-space:nowrap;display:inline-block;margin:11px 4px 0 0;padding:0;*display:inline;z-index:1}.r-topline__item_separator{color:#666;font-size:11px;margin-left:11px;margin-right:13px}.r-topline__item_separator-hidden{display:none;margin-left:4px;margin-right:6px}.r-topline__item_backtoold-hidden{display:none}.r-topline_centered .r-topline__sizefix{text-align:center}.r-topline_centered .r-topline__logo{position:absolute;top:0;left:17px;margin:4px 0 0}.r-topline_centered .r-topline__item{margin-left:6px;margin-right:7px}.r-topline_centered .r-topline__item_entry,.r-topline_centered .r-topline__item_user{position:absolute;top:0;right:16px}.r-topline_centered .r-topline__projects{display:inline-block;vertical-align:top;font-weight:bold;*display:inline;*zoom:1} </style><div class="r-topline r-topline_centered" id="r__topline" data-tesla-path="$topline"><div class="r-topline__sizefix"><span class="r-topline__logo"><a href="http://www.rambler.ru/" class="r-topline__logo-link" title="Рамблер" data-tesla-goal="head" rel="nofollow"><img src="data:image/gif;base64,R0lGODlhRgASAPMPAGlpaUFBQVxcXOTk5Lu7u62trdbW1oWFhaCgoE5OTnd3d/Hx8cnJyZKSkv///zMzMyH5BAEAAA8ALAAAAABGABIAAAT+8MlJq71Ypsy7/1zSMIsDgGiqPofjusoqz5XiModA7/TgNDwPg9EgOAZACYBQGhQCEsHwJEEwEFEXoECERodg3KRhcCyeksOw4SPoXoPy7xEoGeQFpStPdw0kNi8uBl4Ngi5JBWYkDgYShjclCwEuBBJGC1EbDwhmjy6ZLC+fcwIlSYaWD4iiDjp1DjGQOgKIrA+BmwEKIy5VLydMLjqQE4qOD4pJrIpIDWxzxRJlinMPAFosJYISDA5GCJRGJg/S5b4P3stz3ofR6OkO7UnYrrUOB+cOEj4tAy0HTl1zsclQKB/rgBhBVsGct3GJPBli8GvfKgcByvgI4A3LA4F6D8pYSpDtIpAW5CQUQkfyBygE1U66gDnqnj6KRiieW4BgnIAEGiewymgGQZE/N6FNAvXCY7wjkBLYoNgSiCGknOBQMaNDwi2OghhAgbRtwJsfCQB4mSCAygwAXZV4CABA7RhfcIVaC8L3gjm9SfoKvmuRwq3Bg/9KiAAAOw==" width="70" height="18" alt="Рамблер" class="r-topline__logo-image"></a></span><!-- Проекты --><ul class="r-topline__projects"><li class="r-topline__item"><a href="http://rambler.ru/" class="r-topline__link" data-tesla-goal="head" rel="nofollow"><span class="r-topline__link-text">Главная</span></a></li><li class="r-topline__item"><a href="http://news.rambler.ru/" class="r-topline__link" data-tesla-goal="news" rel="nofollow"><span class="r-topline__link-text">Новости</span></a></li><li class="r-topline__item"><a href="https://mail.rambler.ru/#" class="r-topline__link" data-tesla-goal="mail" rel="nofollow"><span class="r-topline__link-text">Почта</span></a></li><li class="r-topline__item"><a href="http://r0.ru/" class="r-topline__link" data-tesla-goal="search" rel="nofollow"> Поиск </a></li><li class="r-topline__item r-topline__item_current"><a href="http://id.rambler.ru/" class="r-topline__link" data-tesla-goal="id" rel="nofollow"> Учетная запись </a></li><li class="r-topline__item r-topline__item_all "><a href="http://rambler.ru/all.shtml" class="r-topline__link" data-tesla-goal="more" rel="nofollow"><span class="r-topline__link-text">Все продукты</span><i class="r-topline__arr"></i></a><div class="r-topline__dropdown" data-tesla-path="more__dropdown"><!-- Список проектов Рамблера --><div class="r-topline__project-list"><ul class="r-topline__list"><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="weather" href="http://weather.rambler.ru/" rel="nofollow">Погода</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="kassa" href="http://kassa.rambler.ru/" rel="nofollow">Касса</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="horoscopes" href="http://horoscopes.rambler.ru/" rel="nofollow">Гороскопы</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="love" href="http://love.rambler.ru/" rel="nofollow">Знакомства</a></li></ul><ul class="r-topline__list"><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="autorambler" href="http://autorambler.ru/" rel="nofollow">Авторамблер</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="tv" href="http://tv.rambler.ru/" rel="nofollow">ТВ-программа</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="top100" href="http://top100.rambler.ru/" rel="nofollow">Toп100</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="orsn" href="http://realty.rambler.ru/" rel="nofollow">Недвижимость</a></li></ul><ul class="r-topline__list"><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="finance" href="http://finance.rambler.ru/" rel="nofollow">Финансы</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="radio" href="http://audio.rambler.ru/" rel="nofollow">Радио</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="soft" href="http://soft.rambler.ru/" rel="nofollow">Софт</a></li><li class="r-topline__list-item"><a class="r-topline__list-link" data-tesla-goal="games" href="http://games.kanobu.ru/" rel="nofollow">Игры</a></li></ul></div><div class="r-topline__project-list"><ul class="r-topline__list"><li class="r-topline__list-item"><a class="r-topline__list-link" href="http://help.rambler.ru/" data-tesla-goal="help" rel="nofollow">Помощь</a></li></ul><ul class="r-topline__list"><li class="r-topline__list-item"><a class="r-topline__list-link" href="http://rambler.ru/jobs/" data-tesla-goal="job" rel="nofollow">Вакансии</a></li></ul><ul class="r-topline__list"><li class="r-topline__list-item"><a class="r-topline__list-link" href="http://reklama.rambler.ru/" data-tesla-goal="advertisement" rel="nofollow">Реклама</a></li></ul></div><div class="r-topline__footer"><div class="r-topline__footer-line"><a href="http://rambler.ru/all/" data-tesla-goal="mobile" rel="nofollow">Все продукты холдинга</a></div></div></div></li></ul></div></div><script> (function(w,h){function j(a,b){var c=a.className,c=c.split?c.split(" "):[],d=c.length,e=!1,g;if(!c.length)return!1;for(g=0;g<d;g++)c[g]===b&&(e=!0);return e?!0:!1}function f(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent("on"+b,function(){c.call(a,window.event)})}function l(){var a;if(q)for(a=0;a<q;a++){var b=r[a].parentNode,c=b.className.split(" "),d=c.length,e=void 0;if(j(b,"r-topline__item_active"))for(e=0;e<d;e++)"r-topline__item_active"===c[e]&&delete c[e];b.className=c.join(" ")}}function v(a){var b=a.parentNode,c=m("r-topline__dropdown",b),d=a.getAttribute("data-tesla-goal");c.length?f(a,"click",function(a){a=a||window.event;var c=a.target||a.srcElement;j(b,"r-topline__item_active")?(l(),k=!1):("a"!=c.tagName.toLowerCase()&&window._toplinetracker&&window._toplinetracker.track("clickmap.project__id."+d),l(),j(b,"r-topline__item_active")||(b.className+=b.className?" r-topline__item_active":"r-topline__item_active"),k=!0);a.preventDefault?a.preventDefault():a.returnValue=!1;return!1}):f(a,"click",function(b){b=b||window.event;if("a"!=(b.target||b.srcElement).tagName.toLowerCase())return window._toplinetracker&&window._toplinetracker.track("clickmap.project__id."+d),setTimeout(function(){window.location.href=a.getAttribute("href")},200),b.preventDefault?b.preventDefault():b.returnValue=!1,!1})}var d,r,q,s=[],u=0,k=!1,n;d=document.documentElement;j(d,"js")||(d.className+=d.className?" js":"js");var m=h.getElementsByClassName?function(a,b){return(b||h).getElementsByClassName(a)}:function(a,b,c){b=b||h;b=b.getElementsByTagName(c||"*");c=b.length;a=a.split(/\s+/);var d=a.length,e=[],g,f;for(g=0;g<c;g++)for(f=0;f<d;f++)if(-1!=b[g].className.search("\\b"+a[f]+"\\b")){e.push(b[g]);break}return e};d=document.getElementById("r__topline");r=m("r-topline__dropdown",d,"div");q=r.length;s=m("r-topline__link",d,"a");u=s.length;for(n=0;n<u;n++)v(s[n]);f(h,"click",function(a){a=a||window.event;a=a.target?a.target:a.srcElement;for(var b=!1;a;)if(a.className)if(j(a,"r-topline__item")){b=!0;break}else a=a.parentNode;else break;b||(l(),k=!1)});f(h,"mousedown",function(){});f(h,"keydown",function(a){a=a||window.event;27==a.keyCode&&k&&(l(),k=!1)});window._ExtAuth||(window._ExtAuth={});var t=m("js-topline-enter",d)[0],p=!1;t&&f(t,"click",function(a){var b=document.createElement("script");p||window._ExtAuth.show?window._ExtAuth.show():(b.id="extauth",b.src="//id.rambler.ru/js/extauth.min.js",document.getElementsByTagName("head")[0].appendChild(b),b.onload=function(){p=!0;window._ExtAuth.show&&window._ExtAuth.show()},b.onreadystatechange=function(){p=!0},setTimeout(function(){p||(window.location.href=t.href)},500),a.preventDefault?a.preventDefault():a.returnValue=!1)})})(window,document); </script>
 
 
 
  <div class="b-page-wrapper">
    <div class="b-page-content">
      <div class="b-page-single_column">
        <div class="b-page-header">
          <div class="b-page-header_title">
            
              
                <h2 class="b-header_title_name">Регистрация. <span class="b-header_title_substring b-header_title_register_count">Шаг&nbsp;1 из&nbsp;2</span></h2>
                <p class="b-section_text b-with_margin_legacy">Если вы&nbsp;раньше регистрировались, то&nbsp;можете <a href="http://id.rambler.ru/login" onclick="_gaq.push(['_trackEvent', 'Registration', 'Click_login_link']);">войти под&nbsp;своим именем</a>.</p>
              
            
          </div>
        </div>
 
 
        <div class="b-section b-main b-with_margin_legacy">
          <form action="http://id.rambler.ru/profile/create" method="POST">
            <input type="hidden" name="request.key" value="2edcfe579687afd6ed5f146019ffc40b">
            
 
              
                <input type="hidden" name="action" value="step2">
                <fieldset class="b-form">
  <label for="profileFirstName" id="profileFirstName-error" class="b-balloon b-balloon-error ">
    <i class="b-balloon-arrow"></i>
    <span class="b-balloon-text"></span>
  </label>
  <label for="profileFirstName" class="b-label">Имя:</label>
  <input id="profileFirstName" class="r-input r-size_f18 r-input_w390 " type="text" maxlength="64" name="profile.firstname" tabindex="1" title="Ваше имя" value="" autocomplete="off" data-required="">
</fieldset>
                <fieldset class="b-form">
  <label for="profileLastName" id="profileLastName-error" class="b-balloon b-balloon-error ">
    <i class="b-balloon-arrow"></i>
    <span class="b-balloon-text"></span>
  </label>
  <label for="profileLastName" class="b-label">Фамилия:</label>
  <input id="profileLastName" class="r-input r-size_f18 r-input_w390 " type="text" maxlength="64" name="profile.lastname" tabindex="1" title="Ваша фамилия" value="" autocomplete="off" data-required="">
</fieldset>
                <fieldset class="b-form b-form_domain">
                  <label for="login" id="login-error" class="b-balloon b-balloon-error "><i class="b-balloon-arrow"></i>
                    <span class="b-balloon-text"></span></label>
                  <label for="login" class="b-label">Адрес электронной почты:</label>
                  <div class="r-group r-input_w390 ">
                    <input id="login" class="r-input_inner r-input_w190 r-size_f18" type="text" maxlength="32" name="profile.username" tabindex="1" value="" autocomplete="off" data-required="suggest_email" data-autocomplete="">
  <a class="r-group r-group_inner r-input_w190 r-group_menu_f18" href="http://id.rambler.ru/profile/create/?back=http%3A%2F%2Fwww.rambler.ru%2F&rname=main#" draggable="false" tabindex="1" id="domain_select"><b class="r-dropdown_text">@rambler.ru</b><b class="r-dropdown_control"></b><i class="r-dropdown_arrow_down"></i></a><select id="domain" class="r-group_inner r-input_w190 r-group_menu_f18" name="profile.domain" style="display: none;"><option selected="selected" value="rambler.ru">@rambler.ru</option>
      <option value="lenta.ru">@lenta.ru</option>
      <option value="autorambler.ru">@autorambler.ru</option>
      <option value="myrambler.ru">@myrambler.ru</option>
      <option value="ro.ru">@ro.ru</option>
    
  </select>
 
                  </div>
                </fieldset>
                <fieldset class="b-form b-form_buttons b-form_buttons__register">
    <span class="r-button r-button_h36 r-input_w200 r-button_graphite " title="Далее" draggable="false" onclick="_gaq.push(['_trackEvent', 'Registration', 'Click_next_button']);">Далее<input class="r-button_invisible" name="button.submit" type="submit" value="" tabindex="1"></span>
                </fieldset>
 
              
            
          </form>
        </div>
      </div>
    </div>
  </div>
 
 
 
 
<div class="b-footer-push"></div>
<div id="footer" class="b-footer">
  <ul class="b-footer-list">
    <li class="b-footer-item">
      <a class="b-footer-link" href="http://help.rambler.ru/1/id/" title="Справочный раздел">Помощь</a>
    </li>
    <li class="b-footer-item">
      <a class="b-footer-link" href="http://help.rambler.ru/1/legal/id/" title="Правила пользования и конфиденциальность">Правила пользования и конфиденциальность</a>
    </li>
    <li class="b-footer-item">
      © <a href="http://rambler.ru/" class="b-footer-link b-footer-legal">Рамблер</a>, 2014
    </li>
  </ul>
</div>
 
<script>
  var _teslaq = _teslaq || []; _teslaq.push(function(){
    var _rama = new Rama(),
    _tracker = _rama.getRTracker(66);
    _tracker.setProjectId(12);
    _tracker.setVariable('topline', 'project__id');
    var _clickmap = new tesla.ClickMap(_tracker, {
      element: document.getElementById('r__topline')});
      _tracker.track('$topline.view'); }); (function() {
      var ra = document.createElement('script');
      ra.type = 'text/javascript';
      ra.async = true;
      ra.src = '//i.rambler.ru/rcounter/'; var s = document.getElementsByTagName('script')[0];
      s.parentNode.insertBefore(ra, s);
    })();
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-18802276-5']);
  _gaq.push(['_addOrganic', 'Rambler', 'query']);
  _gaq.push(['_addOrganic', 'Mail', 'q']);
  _gaq.push(['_addOrganic', 'Nigma', 'q']);
  _gaq.push(['_addOrganic', 'Webalta', 'q']);
  _gaq.push(['_addOrganic', 'Aport', 'r']);
  _gaq.push(['_addOrganic', 'Gogo', 'q']);
  _gaq.push(['_addOrganic', 'Bing', 'q']);
  _gaq.push(['_addOrganic', 'QIP', 'query']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['_trackEvent', 'Registration', 'Loaded_step1']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'i.rambler.ru/ga/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
 
</script>
 
 
<script>
  var img = new Image();
  img.src = '//www.tns-counter.ru/V13a***R>' + document.referrer.replace(/\*/g,'%2a') + '*rambler_ru/ru/UTF-8/tmsec=rambler_usercreate-p1/' + Math.round(Math.random() * 1000000000);
</script>
<noscript>
  &lt;img src="//www.tns-counter.ru/V13a****rambler_ru/ru/UTF-8/tmsec=rambler_usercreate-p1/" width="1" height="1" alt=""
</noscript>
 
<!---
Engine: CTPP2 engine v2.7.10 (Dzoraget), copyright (c) 2004 - 2011 CTPP Dev. Team;
RuntimeLibrary: CTPP Standard Library v2.7.10 (Dzoraget), copyright (c) 2007 - 2011 CTPP Dev. Team;
License: BSD-like, see http://ctpp.havoc.ru/;
Hostname: boobs3.id.rambler.ru
 --->
 
 
 
 
<ul class="r-group_menu" style="display: none;"></ul></body></html>
0
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
19.03.2014, 23:19
простите прочитал по диагонали
тогда посоветую самый простой вариант: имитировать нажатия клавиш и/или мыши с помощью win32api
если конечно приемлемо(могут быть проблемы с капчей - зависит от применения скрипта)
если нужно - скину примеры использования win32api, там все очень просто
1
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.03.2014, 23:20
grom_oleg, ой-ой-ой, давайте без win32api! Это ужасно, selenium проще и понятнее!
1
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
19.03.2014, 23:22
ну как сказать, зато проще и быстрее
ничего сложного там нет абсолютно, это же питон=)

кстати как по мне проще использовать windows forms и компонент webbrowser аля с# со всеми вытекающими, если конечно нет ограничений на язык и если автор пишет на нем
1
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.03.2014, 23:24
grom_oleg, это win-api и этим все сказано!
1
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
19.03.2014, 23:29
и все-таки хочу сказать за mechanize, если можно как-нибудь использовать именно его
это самый простой способ в данном случае потому что небольшая модификация кода - и этот модуль меняет элементы, даже если они только для чтения
впрочем, может и такое можно сделать с селениумом, не пробовал

//оффтоп
Добавлено через 48 секунд
когда-то рисовал графики мышью с помощью винапи на питон - очень прикольно смотрится=)
особенно синус/косинус и степенные функции=)
1
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
20.03.2014, 00:01
grom_oleg, ага, а можно взять matplotlib и будет вообще крутя + кросплотформенность)

Добавлено через 37 секунд
Wi0M, имена кнопок и input напишите.
1
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
20.03.2014, 01:23  [ТС]
эмитация нажатий не подходит, так как невозможно будет пользоваться компьютером во время работы программы, да и не рационально это. как раз таки selenium и был выбран из-за труднодоступной каптчи, так бы я через twill проблему бы решал или тот же mechanize. но пока что пришлось остановить работу над этим проектом, из-за того что не получается через selenium выбрать пункт из выподающего меню....

Добавлено через 3 минуты
Цитата Сообщение от grom_oleg Посмотреть сообщение
кстати как по мне проще использовать windows forms и компонент webbrowser аля с# со всеми вытекающими, если конечно нет ограничений на язык и если автор пишет на нем
я написал на delphi, но мне хочется перейти к другому языку программирования, поэтому решил написать тоже самое, но уже на питоне

Добавлено через 1 минуту
Цитата Сообщение от grom_oleg Посмотреть сообщение
и все-таки хочу сказать за mechanize, если можно как-нибудь использовать именно его
это самый простой способ в данном случае потому что небольшая модификация кода - и этот модуль меняет элементы, даже если они только для чтения
впрочем, может и такое можно сделать с селениумом, не пробовал
проблема состоит в том что мне нужно заскринить страничку, поэтому нужно чтобы она была видна в браузере, только так я могу получить каптчу с рамблера и отправить ее на сервис распознования, если я пытаюсь скачать картинку по ссылке то каптча уже другая скачивается...

Добавлено через 4 минуты
Цитата Сообщение от Wolkodav Посмотреть сообщение
имена кнопок и input напишите.
HTML5
1
<input id="profileFirstName" class="r-input r-size_f18 r-input_w390 " type="text" maxlength="64" name="profile.firstname" tabindex="1" title="Ваше имя" value="" autocomplete="off" data-required="">
это имя
HTML5
1
<input id="profileLastName" class="r-input r-size_f18 r-input_w390 " type="text" maxlength="64" name="profile.lastname" tabindex="1" title="Ваша фамилия" value="" autocomplete="off" data-required="">
Фамилия
HTML5
1
<input id="login" class="r-input_inner r-input_w190 r-size_f18" type="text" maxlength="32" name="profile.username" tabindex="1" value="" autocomplete="off" data-required="suggest_email" data-autocomplete="">
Логин
HTML5
1
2
3
4
5
6
7
8
9
10
11
<a class="r-group r-group_inner r-input_w190 r-group_menu_f18" href="http://id.rambler.ru/profile/create/?back=http%3A%2F%2Fwww.rambler.ru%2F&rname=main#" draggable="false" tabindex="1" id="domain_select">
    <b class="r-dropdown_text">@rambler.ru</b>
    <b class="r-dropdown_control"></b>
    <i class="r-dropdown_arrow_down"></i>
</a>
<select id="domain" class="r-group_inner r-input_w190 r-group_menu_f18" name="profile.domain" style="display: none;">
      <option selected="selected" value="rambler.ru">@rambler.ru</option>
      <option value="lenta.ru">@lenta.ru</option>
      <option value="autorambler.ru">@autorambler.ru</option>
      <option value="myrambler.ru">@myrambler.ru</option>
      <option value="ro.ru">@ro.ru</option>
Домен
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
20.03.2014, 10:57
Лучший ответ Сообщение было отмечено Wi0M как решение

Решение

Wi0M,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from selenium import webdriver
from selenium.webdriver.support.ui import Select
 
FIRST_NAME = '123' 
LAST_NAME = '123'
LOGIN = '123'
SEL = '@ro.ru'
 
browser = webdriver.Firefox()
browser.maximize_window()
browser.get("http://id.rambler.ru/profile/create/?back=http%3A%2F%2Fwww.rambler.ru%2F&rname=main")
first_name = browser.find_element_by_id("profileFirstName")
last_name = browser.find_element_by_id("profileLastName")
login = browser.find_element_by_id("login")
first_name.send_keys(FIRST_NAME)
last_name.send_keys(LAST_NAME)
login.send_keys(LOGIN)
select = browser.find_element_by_id("domain_select")
select.click()
 
selected = browser.find_element_by_xpath('//a[contains(text(), "{0}") and @class="r-group_menu_item r-option_value"]'.format(SEL))
selected.click()
Как-то так... У вас не работало с select т.к. На это сайте select - это не выпадающий список и сверстаный <a>

Добавлено через 47 секунд
Этот скрпит только заполняет поля и все! Больше ничего он не делает.
1
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
20.03.2014, 14:53  [ТС]
Цитата Сообщение от Wolkodav Посмотреть сообщение
У вас не работало с select т.к. На это сайте select - это не выпадающий список и сверстаный <a>
я об этом догадался))
Спасибо огромное)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.03.2014, 14:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru