下载PDF硒python chromedriver后退出弹出表单

时间:2018-12-03 18:38:30

标签: python selenium selenium-chromedriver

我最近获得了有关从弹出表单下载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

尝试退出以下弹出窗口: enter image description here

1 个答案:

答案 0 :(得分:1)

我已经更新了答案here,但是如果您错过了答案,

尝试关闭弹出窗口:

driver.switch_to.default_content()
driver.find_element_by_xpath('//*[@id="ctl00_GenericPopupSizeable_InnerPopupControl_HCB-1"]/img').click()

说明:弹出窗口的关闭按钮不在显示下载链接的iframe中,因此我们需要返回至主要内容,然后单击弹出窗口关闭按钮。