所有人!
我正在使用Python,Selenium和无头Chrome浏览器来模拟单击按钮以下载PDF文件。
问题是,无头参数的相同代码段对于某些页面中的按钮效果很好,而对其他页面则不起作用。关于不起作用的页面,如果取消无头参数,则该页面正常工作。
这是我的配置:
path = path+'/'+CPF_LOGIN
chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : path, "download.prompt_for_download": False}
chromeOptions.add_argument("--headless")
chromeOptions.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)
driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': path}}
command_result = driver.execute("send_command", params)
driver.get(URL)
这是当我使用一些javascript代码执行点击时
element = WebDriverWait(driver, 30).until(
EC.element_to_be_clickable((By.XPATH, '/html/body/ion-app/ng-component/ion-nav/page-splitpane/ion-split-pane/ion-nav/page-copasa-segundaviadecontadetalhe/ion-content/div[2]/div/ion-card/ion-card-content/div/button/span'))
)
time.sleep(10)
driver.execute_script("arguments[0].click();", element)
它不会引发任何异常。它只是不下载文件。同样,当我在另一页中尝试其他按钮时,具有无头chrome配置的相同代码也起作用。在此页面中,我面临的问题是,如果取消无头选项,则下载正常。
有什么想法吗?
谢谢。