使用Python和Selenium选择数字证书

问题描述 投票:0回答:1

我是编程世界的初学者,但我一直喜欢从事自动化项目,主要是为了我的工作。但是,在许多此类自动化中,我需要使用数字证书来访问需要此类验证的站点。我第一次这样做时遇到了问题,因为我无法直接选择证书。因此,我找到了一种解决方法,即使用 PyAutoGUI 按“Enter”键,这将选择列表中的第一个证书并继续自动化。然而,一些网站在此阶段遇到问题,不允许 PyAutoGUI 按键盘上的“Enter”键。

# Configure Chrome options
chrome_options = webdriver.ChromeOptions()
chrome_prefs = {
    "download.prompt_for_download": True,
    "download.directory_upgrade": True,
    "safebrowsing.enabled": True,
}

chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--disable-infobars')
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-software-rasterizer')

# Initialize the browser with configured options
browser = webdriver.Chrome(options=chrome_options)
browser.maximize_window()
time.sleep(2)

# Click on gov.br
browser.get("https://cav.receita.fazenda.gov.br/autenticacao/Login")
time.sleep(2)

# Click on gov.br
browser.find_element('xpath', '//*[@id="login-dados-certificado"]/p[2]/input').click()
time.sleep(2)

# Select certificate
browser.find_element('xpath', '//*[@id="cert-digital"]/button').click()
time.sleep(2)

# Press Enter
pyautogui.press('enter')
time.sleep(2)

我尝试在 Chrome 设置中授予管理员权限,但没有解决问题。代码仍然停留在数字证书选择步骤。

python selenium-webdriver automation ssl-certificate certificate
1个回答
0
投票

我在一个类似的项目中工作,试图自动化与您相同的过程(Consulta E-CAC),正如您所说,我陷入了与您相同的点,我在网上搜索了所有内容以找到解决方案,但是我没有,如果你有关于这个项目的任何消息,请告诉我,这会有很大帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.