Pythonのスクレイピングでデータが取得できない


Python初心者ですみません。あるウェブサイトから、情報を一気に取得したいのですが、ウェブページに多彩なメニューがあり、これら全てを一気に取得する方法などあるでしょうか。  
スクレイピングの基本だと思うのですが、ご支援いただけますと幸いです。

ウェブページは以下のものです。

<https://nintei.nurse.or.jp/certification/General/(X(1)S(efl0y555pect3x45oxjzfw3x))/General/GCPP01LS/GCPP01LS.aspx?AspxAutoDetectCookieSupport=1>

以前に試した方法として、以下のようなものをテンプレートにしているのですが、エラーは起きないのですが、うまく取得できません。

[code]

    #保存用
    driver_path = r'C:\Anaconda3\chromedriver.exe'#自分のChoromedriverの場所
    
    #読み込みたいフォルダの場所
    URL = 'https://nintei.nurse.or.jp/certification/General/(X(1)S(efl0y555pect3x45oxjzfw3x))/GCPP01LS/GCPP01LS.aspx'
    
    #格納したいフォルダの場所
    send_path = r'C:\Users\akira\Documents\Python\会社'
    
    from selenium import webdriver
    import time
    import bs4
    import re
    import os
    import time
    import shutil
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    start = time.time()
    
    driver = webdriver.Chrome(driver_path)
    driver.get(URL)
    time.sleep(3)
    
    soup = bs4.BeautifulSoup(driver.page_source, 'html5lib')
    
    base = 'https://nintei.nurse.or.jp/certification/General/'
    
    soup_file1 = soup.find_all('a')
    href_list = []
    
    file_num = 1
    sum_file = 1
    
    cc = 0
    for s in soup_file1:
        if s.string=='検索':
            path = base+s.get('href')
            href_list.append(path)
    
            print(path)
            driver.get(path)
    
            WebDriverWait(driver, 300).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="ctl00_plhContent_btnSearchMain"]')))
            driver.find_element_by_xpath('//*[@id="ctl00_plhContent_btnSearchMain"]').click()
    
            while sum_file == file_num :
                sum_file = len(os.listdir(r'C:\Users\akira\Downloads'))
    
            else:
                print("現在のダウンロードファイル数_{}枚".format(sum_file-1))
                file_num += 1
    
            cc += 1
    
    #一時ファイルが邪魔をする場合があるので時間を少し開ける
    time.sleep(60)
    
    #ファイルの移動
    dw_path = r'C:\Users\akira\Documents\Python\会社'
    dw_list = os.listdir(dw_path)
    
    dw_xlsx = [f for f in dw_list]
    for dw in dw_xlsx:
        shutil.move(r'C:\Users\akira\Documents\Python\会社')
    
[/code]




当該のページには幾つかの hidden parameter が埋め込まれています(例えば `__EVENTVALIDATION`
など)。最初のアクセスでこれらのパラメータの値を取得して、フォームデータの送信(submit)を行います。

以下はその処理を行なう python
スクリプトですが、レスポンス(HTMLファイル)には検索結果の最初の50件のみが含まれています。全ての検索結果を取得するためには、各ページへのリンクを辿ってHTMLファイルを取得する処理を追加する必要があります。

[code]

    import urllib
    from bs4 import BeautifulSoup
    
    # first access: get hidden parameters
    url = r'https://nintei.nurse.or.jp/certification/General/(X(1)S(efl0y555pect3x45oxjzfw3x))/General/GCPP01LS/GCPP01LS.aspx'
    html = urllib.request.urlopen(url)
    soup = BeautifulSoup(html, 'lxml')
    
    # generate form data
    count = int(soup.select('#__VIEWSTATEFIELDCOUNT')[0]['value'])
    form_data = {
      '__VIEWSTATEFIELDCOUNT': count,
      '__VIEWSTATE': soup.select('#__VIEWSTATE')[0]['value'],
      '__EVENTVALIDATION': soup.select('#__EVENTVALIDATION')[0]['value']
    }
    for i in range(1, count):
      form_data[f'__VIEWSTATE{i}'] = soup.select(f'#__VIEWSTATE{i}')[0]['value']
    
    form_data['ctl00$plhContent$btnSearchMain'] = '検索'
    form_data['ctl00$plhContent$drpField'] = -1
    form_data['ctl00$plhContent$drpNameOwnerWorking'] = -1
    form_data['ctl00$plhContent$drpWorkPrefecture'] = -1
    form_data['ctl00$plhContent$drpWorkType'] = -1
    form_data['ctl00$plhContent$radlstCert'] = 1
    
    # second access: get search result
    form_data = urllib.parse.urlencode(form_data).encode()
    html = urllib.request.urlopen(url, form_data).read().decode()
    print(html)
    
[/code]

