Selenium WebDriver在Linux服务器出现连接超时问题求助
服务器端Selenium下载超时问题排查方案
网络连通性验证
- 测试服务器到目标域名的基础连通:执行
ping onjn.gov.ro或traceroute onjn.gov.ro,确认数据包能正常到达目标服务器 - 验证HTTPS端口可访问:用
telnet onjn.gov.ro 443或nc -zv onjn.gov.ro 443检查443端口是否开放 - 排除防火墙/安全组限制:确认服务器 outbound 方向的HTTPS流量未被拦截,且无带宽配额限制
- 绕开Selenium直接测试下载:在服务器终端执行
wget https://onjn.gov.ro/wp-content/uploads/Onjn.gov.ro/Legislatie/OUG%2077%202009%20la%20zi%202022.docx,如果仍超时,说明问题出在网络而非Selenium
Selenium环境配置检查
- 确认ChromeDriver与浏览器版本匹配:运行
google-chrome --version和chromedriver --version,两者版本需保持大版本一致 - 添加服务器环境专属启动参数:
from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('--headless=new') # 新版无头模式,兼容性更好 options.add_argument('--no-sandbox') # 规避服务器无沙箱权限问题 options.add_argument('--disable-dev-shm-usage') # 解决/dev/shm空间不足问题 options.add_argument('--timeout=60000') # 延长超时时间至60秒 - 检查下载目录权限:确保Selenium指定的下载路径有读写权限,可临时执行
chmod 777 /path/to/downloads测试
目标站点访问限制排查
- 测试IP是否被封禁:在服务器上使用代理IP重新运行脚本,若能正常下载,说明原IP被目标站点限制
- 模拟本地浏览器请求头:添加与本地一致的User-Agent,避免被识别为爬虫:
options.add_argument('user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36') - 导入本地浏览器Cookie:如果本地访问需要登录状态,将本地浏览器的Cookie导出后导入到Selenium会话中再尝试下载
内容的提问来源于stack exchange,提问作者iffishells
相关产品推荐
相关产品推荐

