Selenium Java无法登录Oracle APEX应用(错误:net::ERR_HTTP2_PROTOCOL_ERROR)
解决Selenium测试Oracle APEX时的net::ERR_HTTP2_PROTOCOL_ERROR问题
强制禁用HTTP/2协议:启动浏览器时添加参数强制使用HTTP/1.1,规避协议兼容性问题。以Chrome为例:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("--disable-http2") driver = webdriver.Chrome(options=chrome_options)Firefox可通过设置偏好关闭HTTP/2:
firefox_options = webdriver.FirefoxOptions() firefox_options.set_preference("network.http.spdy.enabled.http2", False) driver = webdriver.Firefox(options=firefox_options)匹配浏览器与WebDriver版本:浏览器和对应WebDriver版本不匹配会引发各类协议适配问题,务必保证两者版本完全对应,比如ChromeDriver版本需和本地Chrome浏览器版本一致。
关闭安全沙箱及临时文件限制:Linux环境或容器化测试场景中,安全沙箱可能干扰HTTP/2连接,添加以下参数:
chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage")排除代理/防火墙干扰:Selenium启动的浏览器可能继承系统代理规则,或被防火墙拦截HTTP/2流量,可直接禁用代理:
chrome_options.add_argument("--proxy-server='direct://'") chrome_options.add_argument("--proxy-bypass-list=*")也可切换网络环境测试,确认是否为网络规则导致。
复用手动浏览器配置:手动浏览器的缓存、Cookie或扩展可能影响连接状态,测试时加载手动浏览器的用户配置文件,模拟真实环境:
chrome_options.add_argument("user-data-dir=/path/to/your/local/chrome/profile")
内容的提问来源于stack exchange,提问作者codename_zoe
相关产品推荐
相关产品推荐

