我最近获得了有关从弹出表单下载PDF文件的帮助,但是现在我想退出该表单,并且由于某种原因,下载PDF之后我无法执行任何操作。
我尝试过ActionChains(driver).send_keys(Keys.ESCAPE).perform()
,但它没有退出表格。我也尝试过driver.back()
,但是可以返回一页,我想留在当前页面上继续下载文件。
这是到目前为止的代码:
options = webdriver.ChromeOptions()
prefs = {"download.default_directory":"C:/Users/gille/Documents/SJ Webscraping/data","plugins.plugins_list":[{"enabled":False,"name":"Chrome PDF Viewer"}]}
options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(options=options)
driver.get("https://www.southtechhosting.com/SanJoseCity/CampaignDocsWebRetrieval/Search/SearchByElection.aspx")
driver.find_element_by_xpath('//*[@id="ctl00_DefaultContent_ASPxRoundPanel1_btnFindFilers_CD"]').click()
driver.find_element_by_xpath('//*[@id="ctl00_GridContent_gridFilers_DXCBtn0"]').click()
driver.find_elements_by_xpath('//td[@class="dxgvCommandColumn_Glass dxgv"]//img[@title="View Form"]')[0].click()
driver.switch_to.frame(driver.find_element_by_tag_name('iframe'))
a = driver.find_element_by_link_text("Click here")
ActionChains(driver).key_down(Keys.CONTROL).click(a).key_up(Keys.CONTROL).perform()
#insert exit sequence here
答案 0 :(得分:1)
我已经更新了答案here,但是如果您错过了答案,
尝试关闭弹出窗口:
driver.switch_to.default_content()
driver.find_element_by_xpath('//*[@id="ctl00_GenericPopupSizeable_InnerPopupControl_HCB-1"]/img').click()
说明:弹出窗口的关闭按钮不在显示下载链接的iframe中,因此我们需要返回至主要内容,然后单击弹出窗口关闭按钮。