Python 基于href自动访问多个页面

Python 基于href自动访问多个页面,python,selenium-webdriver,beautifulsoup,Python,Selenium Webdriver,Beautifulsoup,我遇到了使用SeleniumWebDriver和python自动化多个页面的问题。在我的代码中,我会自动点击多达10页的页面,但在10页之后,它将无法工作。第11页之后,我没有看到页面点击 import urllib.request from bs4 import BeautifulSoup import csv import os from selenium import webdriver from selenium.webdriver.support.select import Selec

我遇到了使用SeleniumWebDriver和python自动化多个页面的问题。在我的代码中,我会自动点击多达10页的页面,但在10页之后,它将无法工作。第11页之后,我没有看到页面点击

import urllib.request
from bs4 import BeautifulSoup
import csv
import os
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.keys import Keys
import time
import pandas as pd
import os



url = 'http://www.igrmaharashtra.gov.in/eASR/eASRCommon.aspx? 
hDistName=Buldhana'
chrome_path = r'C:/Users/User/AppData/Local/Programs/Python/Python36/Scripts/chromedriver.exe'
d = webdriver.Chrome(executable_path=chrome_path)
d.implicitly_wait(10)
d.get(url)



Select(d.find_element_by_name('ctl00$ContentPlaceHolder5$ddlTaluka')).select_by_value('7')
Select(d.find_element_by_name('ctl00$ContentPlaceHolder5$ddlVillage')).select_by_value('1464') 
 page = [page.get_attribute('href')for page in 
 d.find_elements_by_css_selector( 
 "#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate [href*='Page$']")]

while True:
         pages = [page.get_attribute('href')for page in 
         d.find_elements_by_css_selector( 
         "#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate 
         [href*='Page$']")]



         for script_page in pages:
            d.execute_script(script_page)
            #print(script_page)

尝试使用页面索引并检查页面是否可用,您必须单击每个页面并继续。请尝试以下代码

from selenium import webdriver

url = 'http://www.igrmaharashtra.gov.in/eASR/eASRCommon.aspx?hDistName=Buldhana'
chrome_path = r'C:/Users/User/AppData/Local/Programs/Python/Python36/Scripts/chromedriver.exe'
d = webdriver.Chrome(executable_path=chrome_path)
d.implicitly_wait(10)
d.get(url)
Select(d.find_element_by_name('ctl00$ContentPlaceHolder5$ddlTaluka')).select_by_value('7')
Select(d.find_element_by_name('ctl00$ContentPlaceHolder5$ddlVillage')).select_by_value('1464')
i=2
while True:
    if len(d.find_elements_by_css_selector("#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate a[href*='Page${}']".format(i)))>0:
        print( d.find_elements_by_css_selector("#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate a[href*='Page${}']".format(i))[0].get_attribute('href'))
        d.find_elements_by_css_selector("#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate a[href*='Page${}']".format(i))[0].click()
        i+=1
    else:
        break
输出: 从第二页开始



尝试使用页面索引并检查页面是否可用,您必须单击每个页面并继续。请尝试以下代码

from selenium import webdriver

url = 'http://www.igrmaharashtra.gov.in/eASR/eASRCommon.aspx?hDistName=Buldhana'
chrome_path = r'C:/Users/User/AppData/Local/Programs/Python/Python36/Scripts/chromedriver.exe'
d = webdriver.Chrome(executable_path=chrome_path)
d.implicitly_wait(10)
d.get(url)
Select(d.find_element_by_name('ctl00$ContentPlaceHolder5$ddlTaluka')).select_by_value('7')
Select(d.find_element_by_name('ctl00$ContentPlaceHolder5$ddlVillage')).select_by_value('1464')
i=2
while True:
    if len(d.find_elements_by_css_selector("#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate a[href*='Page${}']".format(i)))>0:
        print( d.find_elements_by_css_selector("#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate a[href*='Page${}']".format(i))[0].get_attribute('href'))
        d.find_elements_by_css_selector("#ctl00_ContentPlaceHolder5_grdUrbanSubZoneWiseRate a[href*='Page${}']".format(i))[0].click()
        i+=1
    else:
        break
输出: 从第二页开始



在本例中,如果我希望数据从第1页连接到第42页。无法保存第10页后的表格数据,这应该是一个单独的问题,请发布一个新问题,并提及您的预期输出。谢谢。我已经发布了新问题,并对编码进行了一些修改。链接是-请帮助回答这个链接问题。@ParulDeshmukh:好的。我稍后会检查。在这里,如果我想将数据从第1页连接到第42页。无法保存第10页后的表格数据,这应该是一个单独的问题,请发布一个新问题,并提及您的预期输出。谢谢。我已经发布了新问题,并对编码进行了一些修改。链接是-请帮助回答这个链接问题。@ParulDeshmukh:好的。我稍后再查。