我想从使用硒python弹出框的URL下载csv。当我使用Chrome版本80.xx和chromedriver 83时,在无头模式下它可以很好地工作。这是我的剧本
def chrome(path):
options = Options()
options.add_argument("--headless")
prefs = {
"download.default_directory": r"{}".format(path),
"download.prompt_for_download": False,
"download.directory_upgrade": True
}
options.add_experimental_option('prefs', prefs)
options.add_argument('--ignore-ssl-errors=yes')
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(chrome_options=options, executable_path = r'path\chromedriver.exe')
#driver.set_window_position(-10000,0)
return driver
path = os.path.join(os.getcwd(),'downloaded_files')
driver = chrome(path)
#get into link
driver.get(url)
#insert login
driver.find_element_by_id('username').send_keys(username)
driver.find_element_by_id('password').send_keys(password)
driver.find_element_by_css_selector('.login-button').click()
time.sleep(2)
我的Chrome更新和版本更改为83之后。我再也不能使用硒无头模式了,
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="username"]"}
(Session info: headless chrome=83.0.4103.116)
我已经尝试使用chrome 81和chromedriver 83,它也出现了相同的问题。有人有这样的问题吗?