Как нажать на кнопку далее, чтобы очистить данные со всех страниц, используя selenium python?

#python #python-3.x #pandas #selenium #web-scrapin&

#python #python-3.x #pandas #selenium #очистка веб-страниц

Вопрос:

Я только начал изучать очистку данных. Для этого я использую Selenium и сохраняю данные в таблице Excel. Проблема в том, что я не могу понять, как мне заставить selenium циклически нажимать на следующие страницы и очищать их данные тоже, пока страницы не закончатся. Чтобы лучше понять это, ниже приведен мой полный код.

 from selenium import webdriver
import pandas as pd
from openpyxl.workbook import Workbook

DRIVER_PATH = 'C:/Users/Neha/Downloads/chromedriver_win32/chromedriver'

driver = webdriver.Chrome(executable_path=DRIVER_PATH)

driver.&et('https://www.fundoodata.com/citiesindustry/19/2/list-of-information-technolo&y-(it)-companies-in-noida')

company_names = driver.find_elements_by_class_name('headin&')

names_list = []

for name in company_names:
    text = name.text
    names_list.append(text)
    print(text)


driver.quit()


df = pd.DataFrame(names_list)
writer = pd.ExcelWriter('companies_names.xlsx', en&ine='xlsxwriter')
df.to_excel(writer, sheet_name='List')
writer.save()

  

Я хочу, чтобы он очищал названия компаний со всех страниц. Атрибут и XPath следующей кнопки —

 <li&&t;<a href="/citiesindustry/19/2/list-of-information-technolo&y-(it)-companies-in-noida?amp;amp;pa&eno=2amp;amp;tot_rows=606amp;amp;total_results=606amp;amp;no_of_offices=0"&&t;Next</a&&t;</li&&t;
  

Xpath

 //*[@id="main-container"]/div[2]/div[4]/div[2]/div[1]/div/ul/li[7]/a
  

Ответ №1:

Попробуйте цикл while, это будет выглядеть примерно так:

 links = driver.find_elements_by_css_selector('[rel=next]')
while len(links) &&t; 0:
  driver.&et(links[0].&et_attribute('href'))
  # do stuff
  links = driver.find_elements_by_css_selector('[rel=next]')
  

Комментарии:

1. это не работает. Вы предлагаете css_selector, но тег a не содержит никакого css-класса, только href и текст с надписью «next». Если возможно, пожалуйста, посетите сайт здесь для лучшего понимания fundoodata.com/citiesindustry/19/2 /…

2. Посмотрите мою правку, она есть, но это мета-тег, поэтому вы не можете щелкнуть по нему.