Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1

Почему цикл обрывается? Парсер на Selenium

08.02.2019, 18:59. Показов 4258. Ответов 19

Студворк — интернет-сервис помощи студентам
Парсю страничку селениуом
https://www.oddsportal.com/events/

Пытаюсь вытащить ссылки из меню таблицы. Те, которые, видны - вытащил без труда. Но вот дошла до выпадающего списка, столкнулся с непонятной проблемой. Начинаю вытаскивать из него url с помощью наведений и нажатий, но как только получаю ссылку на Futsal, наведение тут же прекращается и соответственно не могу получить оставшиеся ссылки.

Пробую без кликов - просто зайти в цикл и вывести какую-то информацию - в цикл заходит, отрабатывает нормально.

Значит, что-то с кликами, либо с наведением на этот список.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    for a in a_list_text:
        li_more = div_nav.find_element_by_css_selector('li.r.more')
        #Наводим курсор на элемент, так как оно даже при нажатии скрывается через несколько секунд
        ActionChains(driver).move_to_element(li_more).perform()
        a_more_list = li_more.find_elements_by_css_selector('div > div > p > a')
 
        for a_more in a_more_list:
            ActionChains(driver).move_to_element(li_more).perform()
            if a == a_more.text:
                #text = a_more.text
                #print(a + '==' + text +' = ' + str(a==text))
                a_more.click()
                print(driver.current_url)
                li_more = div_nav.find_element_by_css_selector('li.r.more')
                ActionChains(driver).move_to_element(li_more).perform()
                a_more_list = li_more.find_elements_by_css_selector('div > div > p > a')
                break
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2019, 18:59
Ответы с готовыми решениями:

Цикл обрывается, почему?
Эта функция получает список айдишников всех пользователей в виде списка. Потом она итерируется по циклу и каждому отсылает сообщение. Но...

Цикл обрывается и начинает сначала
Добрый вечер, уважаемые форумчане. Изучаю PHP, естественно начал с парсеров. С помощью библиотеки Simple HTML DOM Parser. Проблема в том,...

Selenium парсер chromedriver
Добрый вечер, уважаемые коллеги! Столкнулся со следующей проблемой: предположительно, после установки Android Studio и, сопутствующих...

19
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
08.02.2019, 19:18
m0nte-cr1st0, я много раз пытался работать с другими парсерами
самый простой (для меня) и понятной, оказалась связка

bs4 + requests
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
08.02.2019, 19:26  [ТС]
IRIP, это да, но с js вы так не поработаете
или как-то можно вытащить эти ссылки с помощью bs?
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
08.02.2019, 19:40
m0nte-cr1st0, вроде уже писали, что там json

я пока не понимаю, как его выдрать

а какие конкретно, данные нужны?
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
08.02.2019, 20:56  [ТС]
IRIP, мне сейчас просто url из меню таблицы (ссылки на виды спорта) нужны, а не данные.
до json потом дойду)

"Видимые" ссылки я вытащил легко. Но дело в том, что ещё часть ссылок спрятана в выпадающем списке, который раскрывается при наведении на него. Вот из этого-то списка я когда вытаскиваю url, когда дохожу до "Cricket" главный цикл просто перестаёт заходить во встроенный цикл (как-будто "a" не равно "a_more.text"). Такое происходит только, если кликать по ссылкам... Если же просто вытаскивать названия этих пунктов (без кликов), то всё работает ровно.


Python
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
a_list_text = []
    #Получаем ссылки
    li_more = div_nav.find_element_by_css_selector('li.r.more')
    ActionChains(driver).move_to_element(li_more).perform()
    a_more_list = li_more.find_elements_by_css_selector('div > div > p > a')
    for a_more in a_more_list:
        text = a_more.text
        #Заносим значения text в список
        a_list_text.append(text)
        print("Добавляем:", text)
 
    a_list_text[3] = 'Rugby League'
    a_list_text[8] = 'Cricket'
 
    print(a_list_text)
 
    for a in a_list_text:
        # print(a)
        #Переопределяем
        li_more = div_nav.find_element_by_css_selector('li.r.more')
        #Наводим курсор на элемент, так как оно даже при нажатии скрывается через несколько секунд
        ActionChains(driver).move_to_element(li_more).perform()
        a_more_list = li_more.find_elements_by_css_selector('div > div > p > a')
        for a_more in a_more_list:
            ActionChains(driver).move_to_element(li_more).perform()
            if a == a_more.text:
                text = a_more.text
                print(a + '==' + text +' = ' + str(a==text))
                #a_more.click()
                #print(driver.current_url)
                # print(a_more.text)
                li_more = div_nav.find_element_by_css_selector('li.r.more')
                ActionChains(driver).move_to_element(li_more).perform()
                a_more_list = li_more.find_elements_by_css_selector('div > div > p > a')
                break
Добавлено через 36 минут
Как вариант, можно, конечно, втупую захардкодить (благо видов спорта не так уж много), но как-то мне не нравится этот вариант, ведь придётся проверять, не изменился ли список...
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
08.02.2019, 21:29
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
ссылки на виды спорта
Эти? Или с вложенностями?
Миниатюры
Почему цикл обрывается? Парсер на Selenium  
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
09.02.2019, 00:14  [ТС]
IRIP, эти
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
09.02.2019, 02:19
m0nte-cr1st0, в них вложенные объекты есть
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
09.02.2019, 02:54  [ТС]
IRIP, да, я знаю, но мне вложенные не нужны. только главные пункты)

Добавлено через 7 минут
IRIP, я тут, кстати, заметил закономерность.
ссылка формируется в виде https://www.oddsportal.com/events/#sport/ + <вид спорта (с маленькой буквы)> + /all

стоит учитывать, что если в названии вида спорта 2 и более слов, то пробел заменяется символом "-".
если я правильно помню, то bs4 видит эти названия, значит, по сути, тут можно и без селениума обойтись. только нужно подумать, как там вытащить названия эти и сделать определённые замены символов. вы в этом должны уже разбираться, как никто другой)

Добавлено через 26 минут
Именно так и решил. Наверное, это не самый приемлемый результат. Ведь вдруг, пробелы станут заменять каким-то другим символом, или ещё чего. Конечно, там программно, скорее всего генерятся ссылки, но всё же...
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
09.02.2019, 03:03
m0nte-cr1st0, нужны эти?


Кликните здесь для просмотра всего текста


зачем? что дальше с ними делать?
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
09.02.2019, 03:08  [ТС]
IRIP, да. затем на каждой из этих страниц есть список лиг.
то есть вытаскиваешь линки на виды спортов, загоняешь их в список. затем в цикле вытаскиваешь все лиги для каждого вида спорта. затем в цикле для каждой из лиг вытаскиваешь все события. и только потом в цикле парсишь событие.
ну я пока до этого алгоритма пришёл. может, есть получше варианты.
если интересно, могу более детально в лс рассказать.
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
09.02.2019, 03:13
m0nte-cr1st0,


Кликните здесь для просмотра всего текста

>>> from bs4 import BeautifulSoup
>>> import requests
>>> url = 'https://www.oddsportal.com'
>>> r = requests.get(url)
>>> r
<Response [404]>
>>> user_agent = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
>>> r = requests.get(url, headers=user_agent)
r>>> r
<Response [200]>
>>> soup = BeautifulSoup(r.text, 'lxml')
>>> html = soup.find_all('div', class_='sport_name')
>>> print(len(html))
21
>>>



Добавлено через 50 секунд
21 ссылка получена.
дальше получить их, вообще не проблема

что делать с ссылками?
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
09.02.2019, 03:18  [ТС]
IRIP, дальше, в принципе, нужно прогнать каждую ссылку через цикл, чтобы получить ссылки на все лиги, для каждого вида спорта. ссылки на страны получать не нужно.

Кликните здесь для просмотра всего текста



это я уже реализовал, в принципе. и ссылки из каждой лиги на все матчи вытащил. если интересно, можете попробовать и показать ваш. думаю, у вас он "почище" будет..)

по сути, мне осталось только собрать всё это вкучу и начать парсить данные для каждого матча
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
09.02.2019, 03:24
Лучший ответ Сообщение было отмечено m0nte-cr1st0 как решение

Решение

m0nte-cr1st0,

вроде вытащили первый уровень

теперь тянем второй, например, для https://www.oddsportal.com/soccer/


>>> from bs4 import BeautifulSoup as bsp
>>> import requests
>>>
>>> url = 'https://www.oddsportal.com/soccer/'
>>> user_agent = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
>>> r = requests.get(url, headers=user_agent)
>>> soup = bsp(r.text, 'lxml')
>>> html = bsp.find('div', class_='box')
>>> for link in html.find_all('a', href=True):
... a = link['href']
... print(a)


и вот они, долгожданные все ссылочки =)

Добавлено через 1 минуту
Кликните здесь для просмотра всего текста

/soccer/
/soccer/england/premier-league
/soccer/europe/champions-league
/soccer/europe/europa-league
/soccer/europe/euro-2020
/soccer/france/ligue-1
/soccer/germany/bundesliga
/soccer/italy/serie-a
/soccer/spain/laliga
/soccer/africa/
/soccer/africa/africa-cup-of-nations-u20
/soccer/algeria/
/soccer/algeria/ligue-1
/soccer/algeria/ligue-2
/soccer/argentina/
/soccer/argentina/superliga
/soccer/argentina/primera-b-nacional
/soccer/argentina/primera-b-metropolitana
/soccer/argentina/primera-c-metropolitana
/soccer/argentina/primera-d-metropolitana
/soccer/argentina/torneo-federal-a
/soccer/australia/
/soccer/australia/a-league
/soccer/australia/npl-queensland
/soccer/australia/w-league
/soccer/austria/
/soccer/austria/tipico-bundesliga
/soccer/austria/2-liga
/soccer/austria/ofb-cup
/soccer/azerbaijan/
/soccer/azerbaijan/premier-league
/soccer/bangladesh/
/soccer/bangladesh/premier-league
/soccer/belgium/
/soccer/belgium/jupiler-league
/soccer/belgium/proximus-league
/soccer/belgium/first-amateur-division
/soccer/belgium/second-amateur-division-group-acff-2018-2019
/soccer/belgium/second-amateur-division-group-vfv-a
/soccer/belgium/second-amateur-division-group-vfv-b
/soccer/belgium/belgian-cup
/soccer/belgium/1st-national-women
/soccer/brazil/
/soccer/brazil/campeonato-alagoano-2019
/soccer/brazil/campeonato-baiano
/soccer/brazil/campeonato-brasiliense
/soccer/brazil/campeonato-carioca
/soccer/brazil/campeonato-catarinense
/soccer/brazil/campeonato-gaucho
/soccer/brazil/campeonato-goiano
/soccer/brazil/campeonato-matogrossense
/soccer/brazil/campeonato-mineiro
/soccer/brazil/campeonato-paraense
/soccer/brazil/campeonato-paulista
/soccer/brazil/campeonato-sergipano-2019
/soccer/brazil/campeonato-paraibano-2019
/soccer/brazil/campeonato-maranhense
/soccer/brazil/copa-do-nordeste
/soccer/bulgaria/
/soccer/bulgaria/parva-liga
/soccer/colombia/
/soccer/colombia/liga-aguila
/soccer/colombia/torneo-aguila
/soccer/croatia/
/soccer/croatia/1-hnl
/soccer/cyprus/
/soccer/cyprus/first-division
/soccer/cyprus/division-2
/soccer/czech-republic/
/soccer/czech-republic/1-liga
/soccer/czech-republic/division-2
/soccer/czech-republic/mol-cup
/soccer/denmark/
/soccer/denmark/superliga
/soccer/denmark/landspokal-cup
/soccer/ecuador/
/soccer/ecuador/liga-pro
/soccer/egypt/
/soccer/egypt/premier-league
/soccer/el-salvador/
/soccer/el-salvador/primera-division
/soccer/england/
/soccer/england/premier-league
/soccer/england/championship
/soccer/england/league-one
/soccer/england/league-two
/soccer/england/national-league
/soccer/england/national-league-north
/soccer/england/national-league-south
/soccer/england/npl-premier-division
/soccer/england/southern-league-central-division
/soccer/england/southern-league-south-division
/soccer/england/isthmian-league-premier-division
/soccer/england/efl-cup
/soccer/england/efl-trophy
/soccer/england/fa-cup
/soccer/england/premier-league-u18
/soccer/europe/
/soccer/europe/euro-2020
/soccer/europe/uefa-nations-league
/soccer/europe/champions-league
/soccer/europe/europa-league
/soccer/finland/
/soccer/finland/veikkausliiga
/soccer/finland/suomen-cup
/soccer/france/
/soccer/france/ligue-1
/soccer/france/ligue-2
/soccer/france/national
/soccer/france/national-2-group-b
/soccer/france/national-2-group-d
/soccer/france/coupe-de-la-ligue
/soccer/france/coupe-de-france
/soccer/france/coupe-de-france-women
/soccer/gambia/
/soccer/gambia/gfa-league
/soccer/germany/
/soccer/germany/bundesliga
/soccer/germany/2-bundesliga
/soccer/germany/3-liga
/soccer/germany/oberliga-hamburg
/soccer/germany/oberliga-rheinland-pfalz-saar
/soccer/germany/junioren-bundesliga-north
/soccer/germany/junioren-bundesliga-south
/soccer/germany/junioren-bundesliga-west
/soccer/gibraltar/
/soccer/gibraltar/gibraltar-cup
/soccer/greece/
/soccer/greece/super-league
/soccer/greece/football-league
/soccer/greece/division-c
/soccer/guatemala/
/soccer/guatemala/liga-nacional
/soccer/hungary/
/soccer/hungary/otp-bank-liga
/soccer/iceland/
/soccer/iceland/league-cup
/soccer/india/
/soccer/india/isl
/soccer/india/i-league
/soccer/ireland/
/soccer/ireland/super-cup
/soccer/israel/
/soccer/israel/ligat-ha-al
/soccer/israel/leumit-league
/soccer/italy/
/soccer/italy/serie-a
/soccer/italy/serie-b
/soccer/italy/serie-c-group-a
/soccer/italy/serie-c-group-b
/soccer/italy/serie-c-group-c
/soccer/italy/serie-d-group-a
/soccer/italy/serie-d-group-b
/soccer/italy/serie-d-group-c
/soccer/italy/serie-d-group-d
/soccer/italy/serie-d-group-e
/soccer/italy/serie-d-group-f
/soccer/italy/serie-d-group-g
/soccer/italy/serie-d-group-h
/soccer/italy/serie-d-group-i
/soccer/italy/coppa-italia
/soccer/italy/primavera-1-2018-2019
/soccer/italy/primavera-2-2018-2019
/soccer/italy/serie-a-women
/soccer/jordan/
/soccer/jordan/premier-league
/soccer/kenya/
/soccer/kenya/premier-league
/soccer/kosovo/
/soccer/kosovo/kosovar-cup
/soccer/kuwait/
/soccer/kuwait/premier-league
/soccer/lebanon/
/soccer/lebanon/premier-league
/soccer/malaysia/
/soccer/malaysia/super-league
/soccer/malaysia/premier-league
/soccer/malta/
/soccer/malta/premier-league
/soccer/mauritania/
/soccer/mauritania/super-d1
/soccer/mexico/
/soccer/mexico/primera-division
/soccer/mexico/liga-de-ascenso
/soccer/mexico/copa-mexico
/soccer/mexico/liga-mx-women-2018-2019
/soccer/morocco/
/soccer/morocco/botola-pro
/soccer/morocco/botola-2
/soccer/netherlands/
/soccer/netherlands/eredivisie
/soccer/netherlands/eerste-divisie
/soccer/netherlands/tweede-divisie-2018-2019
/soccer/netherlands/knvb-beker
/soccer/new-zealand/
/soccer/new-zealand/football-championship
/soccer/nicaragua/
/soccer/nicaragua/primera-division
/soccer/northern-ireland/
/soccer/northern-ireland/nifl-premiership
/soccer/northern-ireland/irish-cup
/soccer/northern-ireland/nifl-championship
/soccer/norway/
/soccer/norway/eliteserien
/soccer/norway/obos-ligaen
/soccer/panama/
/soccer/panama/lpf-2018-2019
/soccer/paraguay/
/soccer/paraguay/primera-division
/soccer/poland/
/soccer/poland/ekstraklasa
/soccer/poland/division-1
/soccer/poland/division-2
/soccer/poland/polish-cup
/soccer/portugal/
/soccer/portugal/primeira-liga
/soccer/portugal/segunda-liga
/soccer/portugal/liga-revelacao-u23-2018-2019
/soccer/portugal/taca-de-portugal
/soccer/romania/
/soccer/romania/liga-1
/soccer/romania/liga-2
/soccer/romania/romanian-cup
/soccer/russia/
/soccer/russia/premier-league
/soccer/russia/fnl
/soccer/russia/russian-cup
/soccer/russia/fnl-cup
/soccer/saudi-arabia/
/soccer/saudi-arabia/saudi-professional-league
/soccer/scotland/
/soccer/scotland/premiership
/soccer/scotland/championship
/soccer/scotland/league-one
/soccer/scotland/league-two
/soccer/scotland/fa-cup
/soccer/slovakia/
/soccer/slovakia/fortuna-liga
/soccer/slovakia/slovak-cup
/soccer/south-africa/
/soccer/south-africa/premier-league
/soccer/south-africa/first-division
/soccer/south-africa/nedbank-cup
/soccer/south-america/
/soccer/south-america/copa-america
/soccer/south-america/copa-libertadores
/soccer/south-america/south-american-championship-u20
/soccer/spain/
/soccer/spain/laliga
/soccer/spain/laliga2
/soccer/spain/segunda-division-b-group-1
/soccer/spain/segunda-division-b-group-2
/soccer/spain/segunda-division-b-group-3
/soccer/spain/segunda-division-b-group-4
/soccer/spain/tercera-division-group-1
/soccer/spain/tercera-division-group-3
/soccer/spain/tercera-division-group-4
/soccer/spain/tercera-division-group-5
/soccer/spain/tercera-division-group-6
/soccer/spain/tercera-division-group-8
/soccer/spain/tercera-division-group-10
/soccer/spain/tercera-division-group-11
/soccer/spain/tercera-division-group-12
/soccer/spain/tercera-division-group-13
/soccer/spain/tercera-division-group-14
/soccer/spain/tercera-division-group-15
/soccer/spain/tercera-division-group-16
/soccer/spain/tercera-division-group-17
/soccer/spain/tercera-division-group-18
/soccer/spain/copa-del-rey
/soccer/spain/primera-division-women
/soccer/sri-lanka/
/soccer/sri-lanka/champions-league-2018-2019
/soccer/sweden/
/soccer/sweden/allsvenskan
/soccer/sweden/svenska-cupen
/soccer/sweden/svenska-cupen-women
/soccer/switzerland/
/soccer/switzerland/super-league
/soccer/switzerland/challenge-league
/soccer/syria/
/soccer/syria/premier-league
/soccer/tunisia/
/soccer/tunisia/ligue-2
/soccer/turkey/
/soccer/turkey/super-lig
/soccer/turkey/1-lig
/soccer/turkey/2-lig-red-group
/soccer/turkey/2-lig-white-group
/soccer/turkey/3-lig-group-1
/soccer/turkey/3-lig-group-2
/soccer/turkey/3-lig-group-3
/soccer/uganda/
/soccer/uganda/premier-league
/soccer/ukraine/
/soccer/ukraine/premier-league
/soccer/ukraine/ukrainian-cup
/soccer/united-arab-emirates/
/soccer/united-arab-emirates/presidents-cup
/soccer/usa/
/soccer/usa/mls
/soccer/venezuela/
/soccer/venezuela/primera-division
/soccer/wales/
/soccer/wales/premier-league
/soccer/wales/division-1
/soccer/world/
/soccer/world/friendly-international
/soccer/world/club-friendly
/soccer/world/world-cup-women
/soccer/world/shebelieves-cup-women
/soccer/zambia/
/soccer/zambia/super-league

1
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
09.02.2019, 03:25  [ТС]
IRIP, во я слепой. там же были ссылки на видном месте. а я мучался с селениумом....
1
5 / 5 / 1
Регистрация: 20.05.2017
Сообщений: 44
17.02.2019, 17:43
Знаю что ответ дан. Кроме обычного клика есть клик с удержанием click_and_hold
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
17.02.2019, 20:30  [ТС]
Ryker, хм... зачем он используется?

кстати, реализовал вытаскивание url через lxml. намного проще и быстрее оказалось.
0
5 / 5 / 1
Регистрация: 20.05.2017
Сообщений: 44
17.02.2019, 21:09
m0nte-cr1st0, Некорректный вопрос)) Селениум создан для имитации действий пользователя что дает возможности протестировать с максимальной приближенностью. А используется для имитации нажатия и удержания левой кнопки мыши))
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
17.02.2019, 21:15  [ТС]
Ryker, я это понимаю. просто мне интересно, зачем использовать удержание нажатой клевой кнопки мыши... разве что для перетаскивания элементов в другую часть окна...
0
5 / 5 / 1
Регистрация: 20.05.2017
Сообщений: 44
17.02.2019, 21:17
m0nte-cr1st0, Простите прочитал внимательней проблему на свежую голову(кодил). Вам нужно было использовать класс Select (работа с выпадающими списками). В нем есть метод получения всех пунктов выпадающего списка.

Добавлено через 2 минуты
m0nte-cr1st0, Нет для перетаскивания реализован метод drag and drop. Не знаю честно для чего нажатие и удержание.
Вполне возможно что там реализованы какие то основные действия что в более сложных объединяются.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2019, 21:17
Помогаю со студенческими работами здесь

Парсер твиттера. Selenium
Всем привет. Использую связку селениум + питон. Стоит задача спарсить определенные твиты, отбирая их по тексту. При выполнении возник...

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

Парсер с использованием Selenium, phantomJS
Доброго времени суток. Подскажите, пожалуйста по следующему вопросу: есть сайт (https://www.sofascore.com/ru), я хочу получить с него...

Парсер через Selenium ChromeDriver
Всем привет! Сделал простенький парсер для себя на python, через Selenium ChromeDriver. Когда запускаю скрипт через Pycharm, то все...

Парсер сайта Selenium данные с двух столбцов
Добрый день! Подскажите пожалуйста, нужно подтянуть данные нашел код, переделал но выскакивают ошибки... где и что исправить. Заранее...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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