Python, Selenium - как прокликать страницы

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Подскажите, пожалуйста, как пройтись по всем страницам на сайте. Страницы переключаются js скриптом: <li> <a href="javascript

:__doPostBack('ctl00$MainContent$ucTopDataPager$ctl00$ctl03','')">4</a> </li> Сначала видно только 10 страниц, меняются $ctl03(04,05,06 и т.д.)
Листинг программы
  1. from selenium import webdriver
  2. from bs4 import BeautifulSoup
  3. import re
  4. driver = webdriver.Chrome(executable_path=r"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
  5. url = 'http://fedresurs.ru/messages/IsSearching'
  6. ef getURLinfo(url):
  7. driver.get(url)
  8. html = driver.page_source
  9. next = "ctl00_MainContent_ucTopDataPager"
  10. soup = BeautifulSoup(html)
  11. tag = soup.find("div", class_="right")
  12. while tag.findAll('a', href = True):
  13. driver.find_element_by_id(next).click()
  14. soup = BeautifulSoup(driver.page_source)
  15. print(soup.prettify())
  16. driver.close()
  17. getURLinfo(url)
В таком варианте 10 раз загружаю 1 страницу... вангую, что сюда driver.find_element_by_id(next).click() нужно передавать ссылку, но не знаю как...
для проверки сделал так, 2-10, все равно рефрешит одну и ту же страницу, первую. Подскажите плз как пройтись по остальным ссылкам?
Листинг программы
  1. for i in range(2,10):
  2. driver.find_element_by_xpath('//div/div[2]/table/tbody/tr/td[2]/ul/li' + '[' + str(i) + ']' + '/a').click()
  3. html = html + driver.page_source
  4. soup = BeautifulSoup(html)
  5. print(soup.prettify())

Решение задачи: «Python, Selenium - как прокликать страницы»

textual
Листинг программы
  1. from selenium import webdriver
  2. from selenium.webdriver.support.ui import Select
  3.  
  4.  
  5. driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
  6. url = 'http://fedresurs.ru/messages/IsSearching'
  7. driver.get(url)
  8.  
  9. select = Select(driver.find_element_by_id('ctl00_MainContent_ddlMessageTypeList'))
  10. select.select_by_visible_text('Иные сведения')
  11.  
  12.  
  13. driver.close()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут