测试小白龙丶 2022-12-05 14:45 采纳率: 0%
浏览 23

selenium 在服务器上 driver.get()报错问题

selenium在服务器上运行报错:urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

我尝试写了一个自动化测试的脚本,在本地调试是没有任何问题的,但是部署到服务器上去使用driver.get(xxxxx)我的指定网站显示报错,相同的地址在本地调试是正常运行的,把地址换成百度、掘金也是能够正常运行,但是指定的网站则报错
我的代码

chromeOptions = webdriver.ChromeOptions()
# 以开发者模式启动浏览器,去除受控制提示
chromeOptions.add_experimental_option('excludeSwitches', ['enable-automation'])
# 屏蔽以开发者运行提示框
chromeOptions.add_experimental_option('useAutomationExtension', False)
# 添加沙盒模式
chromeOptions.add_argument('--no-sandbox')
chromeOptions.add_argument('--disable-dev-shm-usage')
chromeOptions.add_argument('--headless')
chromeOptions.add_argument('--disable-gpu')
# 专门应对无头浏览器中不能最大化屏幕的方案
chromeOptions.add_argument("--window-size=1920,1080")
chromeOptions.add_argument(
    'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36')
# 设置浏览器默认编码方式
chromeOptions.add_argument('lang=zh_CN.utf-8')
print("开始自动化检测....")
totext = []
path = f"{sale_host_web}/alogin"
print(path)
driver.get(path)
driver.maximize_window()
以下是我的报错内容

img

我能够确定的是,服务器谷歌驱动与谷歌版本是对应的,因为换成其他网站是没有任何问题的。查阅了许多资料,设置超时时间也是没有用的,

我尝试修改加载策略,添加超时时间依旧报错

 # 配置页面加载策略,解决加载速度慢的问题
 chromeOptions.page_load_strategy = 'none'
driver.set_page_load_timeout(20)
driver.set_script_timeout(20)
我通过异常捕获获取当前无头模式的页面截图是空白的,发现此时页面还没有完成渲染,如下图

img

  • 写回答

2条回答 默认 最新

  • 三只小菜猿 PHP领域新星创作者 2022-12-05 15:00
    关注

    你测试一下,没有隐藏无头模拟操作浏览器打开速度和操作是什么样得,还有你是不是被识别出来得是机器操作,从而把你ip禁止或者限制频率访问

    评论

报告相同问题?

问题事件

  • 创建了问题 12月5日

悬赏问题

  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码
  • ¥15 AutoDL无法使用docker install吗?
  • ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件
  • ¥30 关于#wireshark#的问题:需要网络应用流量数据集需要做长度序列的实验,需要与应用产生的会话的数据包的长度,如视频类或者聊天类软件