【问题标题】:Playwright won't navigate to URL (Python)剧作家不会导航到 URL (Python)
【发布时间】:2022-10-06 02:51:36
【问题描述】:

下面的代码导致第 22 行出现超时错误。它挂起的页面加载正常。我不认为“点击”是出于任何原因。我检查了这个问题,但没有帮助:Navigating to \"url\", waiting until \"load\" - Python Playwright Issue

我的目标是下载 csv 文件。我不能直接链接到它,因为它依赖于用户会话期间输入的信息。

from playwright.sync_api import Playwright, sync_playwright, expect


def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()

    # Open new page
    page = context.new_page()

    # Go to https://www.elections.il.gov/CampaignDisclosure/ContributionSearchByCommittees.aspx?T=637994490317517425
    page.goto(\"https://www.elections.il.gov/CampaignDisclosure/ContributionSearchByCommittees.aspx?T=637994490317517425\")

    # Click input[name=\"ctl00\\$ContentPlaceHolder1\\$txtCmteID\"]
    page.locator(\"input[name=\\\"ctl00\\\\$ContentPlaceHolder1\\\\$txtCmteID\\\"]\").click()

    # Fill input[name=\"ctl00\\$ContentPlaceHolder1\\$txtCmteID\"]
    page.locator(\"input[name=\\\"ctl00\\\\$ContentPlaceHolder1\\\\$txtCmteID\\\"]\").fill(\"34589\")
    
    # Click input:has-text(\"Search\")
    page.locator(\"input:has-text(\\\"Search\\\")\").click()
    page.wait_for_url(\"https://www.elections.il.gov/CampaignDisclosure/ContributionSearchByCommittees.aspx?txtCmteID=%2fVrwBYk8TlTSLyRmy7TWmQ%3d%3d&ddlVendorState=Ry707kcsXsM%3d&ddlContributionType=wOGh3QTPfKqV2YWjeRmjTeStk426RfVK&ddlState=Ry707kcsXsM%3d&ddlFiledDateTime=Ry707kcsXsM%3d&ddlFiledDateTimeThru=Ry707kcsXsM%3d&T=637999702238350506\")

    # Click text=Download This List
    page.locator(\"text=Download This List\").click()
    page.wait_for_url(\"https://www.elections.il.gov/CampaignDisclosure/DownloadList.aspx?T=637999702324593366\")

    # Click text=CSV File
    with page.expect_download() as download_info:
        page.locator(\"text=CSV File\").click()
    download = download_info.value

    # ---------------------
    context.close()
    browser.close()


with sync_playwright() as playwright:
    run(playwright)

错误信息的副本:

Exception has occurred: TimeoutError
Timeout 30000.0ms exceeded.
=========================== logs ===========================
waiting for navigation to \"https://www.elections.il.gov/CampaignDisclosure/ContributionSearchByCommittees.aspx?txtCmteID=%2fVrwBYk8TlTSLyRmy7TWmQ%3d%3d&ddlVendorState=Ry707kcsXsM%3d&ddlContributionType=wOGh3QTPfKqV2YWjeRmjTeStk426RfVK&ddlState=Ry707kcsXsM%3d&ddlFiledDateTime=Ry707kcsXsM%3d&ddlFiledDateTimeThru=Ry707kcsXsM%3d&T=637999702238350506\" until \'load\'

    标签: python playwright


    【解决方案1】:

    我猜你可能正在使用 codegen。

    如我所见,该页面对于网址有点奇怪。

    无论如何,我修复了你的代码:

    from playwright.sync_api import Playwright, sync_playwright, expect
    
    
    def run(playwright: Playwright) -> None:
        browser = playwright.chromium.launch(headless=False)
        context = browser.new_context()
    
        # Open new page
        page = context.new_page()
    
        # Go to https://www.elections.il.gov/CampaignDisclosure/ContributionSearchByCommittees.aspx?T=637994490317517425
        page.goto(
            "https://www.elections.il.gov/CampaignDisclosure/ContributionSearchByCommittees.aspx")
    
        # Fill input[name="ctl00\$ContentPlaceHolder1\$txtCmteID"]
        page.locator("input[name=\"ctl00\\$ContentPlaceHolder1\\$txtCmteID\"]").fill("34589")
    
        page.locator("input:has-text(\"Search\")").click()
    
        page.locator("text=Download This List").click()
    
        # Click text=CSV File
        with page.expect_download() as download_info:
            page.locator("text=CSV File").click()
        download = download_info.value
        download.save_as(download.suggested_filename)
    
    
        # ---------------------
        context.close()
        browser.close()
    
    
    with sync_playwright() as playwright:
        run(playwright)
    

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 2020-11-16
      • 2022-12-22
      • 2021-12-05
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 2022-06-21
      • 2021-02-16
      相关资源
      最近更新 更多