- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须使用 1GB
上传大文件(超过 remote selenium server
大小)但得到urllib.error.URLError <urlopen error [Errno 32] Broken pipe>
错误。
这是一个python
代码包括 remote
驱动程序设置如下所示:
from selenium.webdriver import ChromeOptions, Remote
options = ChromeOptions()
options.add_argument("--start-maximized")
remote = Remote(command_executor="http://localhost:9515",
desired_capabilities=options.to_capabilities())
remote.find_element_by_css_selector('input[name="file"]'
).send_keys('path/to/file.iso'))
这是我的回溯示例错误:
ERROR: File "/home/user/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 475, in send_keys
ERROR: value = self._upload(local_file)
ERROR: File "/home/user/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 692, in _upload
ERROR: return self._execute(Command.UPLOAD_FILE, {'file': content})['value']
ERROR: File "/home/user/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 628, in _execute
ERROR: return self._parent.execute(command, params)
ERROR: File "/home/user/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
ERROR: response = self.command_executor.execute(driver_command, params)
ERROR: File "/home/user/.local/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py", line 472, in execute
ERROR: resp = opener.open(request, timeout=self._timeout)
ERROR: File "/usr/lib/python3.6/urllib/request.py", line 526, in open
ERROR: response = self._open(req, data)
ERROR: File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
ERROR: '_open', req)
ERROR: File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
ERROR: result = func(*args)
ERROR: File "/usr/lib/python3.6/urllib/request.py", line 1346, in http_open
ERROR: return self.do_open(http.client.HTTPConnection, req)
ERROR: File "/usr/lib/python3.6/urllib/request.py", line 1320, in do_open
ERROR: raise URLError(err)
ERROR: urllib.error.URLError: <urlopen error [Errno 32] Broken pipe>
请注意以下文件70mb
size 上传成功,但是当我尝试上传更大的文件时失败。
我使用python 3.6
, selenium 3.12.0
, chromedriver 2.42
和Chrome 71
。我确实尝试了不同的 selenium、chromedriver 和 Chrome 版本,但遇到了相同的错误。
我怀疑有一些chromeoptions可以用来解决这个问题,但还没有找到到底有什么可以帮助我。
非常感谢您的帮助!
最佳答案
如果您使用Remote
WebDriver,它尝试传输要上传到远程主机的文件(在您的情况下从 localhost
到 localhost
;但是,一般逻辑是从运行测试的主机到运行浏览器的主机)。
当您上传大文件时,在上传整个文件之前,对等端的套接字会关闭。这就是为什么您会看到 urllib.error.URLError: <urlopen error [Errno 32] Broken pipe>
.
解决方案:您需要通过指定UselessFileDetector
来禁用文件传输。
remote = Remote(
command_executor="http://localhost:9515",
desired_capabilities=options.to_capabilities(),
file_detector=UselessFileDetector()
)
请注意,如果您的浏览器位置不是localhost
,在使用 Selenium 上传文件之前,您必须关心传输文件。
编辑:您可以在https://extsoft.pro/selenium-large-files-upload/上阅读有关Selenium如何上传文件的更多信息。
关于python - 通过远程网络驱动程序上传大文件时<Errno 32 Broken Pipe>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54113674/
我有管道输出 command_a | command_b | ... | command_n 输出是一个数字序列 4.2 -1 ... 0.2 我可以使用 gnuplot 绘制这些数字吗? (将 gn
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 6 年前。 Improv
我目前正在尝试连接父项和子项之间的管道。子级正在执行 sort 并对从父级接收到的输入进行排序。然后 children 写入一个单独的管道。每个进程有两个管道。一个这样 parent 可以将输入发送给
最近我正在研究 Python 中的并行编程工具。这是 os.pipe 和 multiprocessing.Pipe 之间的两个主要区别。(尽管它们被使用的场合) os.pipe是单向,multipro
我的站点上运行着 Yahoo Pipe,Romneyomics它使用来自 Delicious 和 Topsy 的饲料。Delicious 提要不提供“描述”字段,但 Topsy 提供,并且不仅仅是一个
我有一些使用管道的 Haskell 代码: module Main(main) where import Pipes a :: Producer Int IO () a = each [1..10]
所以标题几乎解释了我的问题。 stdout=subprocess.PIPE 和 stdout=PIPE 有什么区别?两者都来自 subprocess 模块,但为什么要使用一个而不是另一个呢?你如何使用
我有一个名为“myPipe”的自定义管道。我得到: The pipe 'myPipe' could not be found error 在我的单元测试中请建议在我的 .spec.ts 中导入和声明什
我有一个非常简单的 Python 3 脚本: f1 = open('a.txt', 'r') print(f1.readlines()) f2 = open('b.txt', 'r') print(f
我正在使用管道和 Python 的多处理模块在进程之间发送简单的对象。文档指出,如果管道已关闭,则调用 pipe.recv() 应该引发 EOFError。相反,我的程序只是阻塞在 recv() 上,
我在 perl 中见过这两种形式的管道 open。 一种是简单的管道打开 open FH,'| command'; 其他是安全管道打开 open FH,'|-','command'; 现在,第二个中的
我正在尝试对我的组件进行单元测试,但它立即生成一个错误: 类型错误:this.store$.pipe 不是函数 根据我的理解, createSpyObj 应该模拟状态。我有不同的选项选项,但没有一个起
我在这里看到这个帖子很多次了;但未能从命令中捕获故意错误。迄今为止我找到的最好的部分工作.. from Tkinter import * import os import Image, ImageTk
我正在编写一个简单的程序来解析编译器的输出并重新格式化任何错误消息,以便我们使用的 IDE(visual studio)可以解析它们。我们使用 nmake构建,它将使用如下命令行调用编译器: cc16
我有一个在coreos上运行的kubernetes集群。我希望在称为记录的Pod中的容器中运行journal2gelf https://github.com/systemd/journal2gelf。
为什么当管道中没有写入器时,读取器存在可以,但当管道中没有读取器时,写入器存在就不行? 。是不是因为reader需要等待,所以没有writer也没关系,而writer已经准备好数据了,即使数据准备好了
我在/etc/postfix/master.cf 中创建了一个 postfix 命令管道,其中包含一个在 STDOUT 和 STDERR 上产生输出的有效命令。在终端上调用时一切正常(因此在 STDO
我有一个命令需要来自管道的输入。例如,考虑著名的 cat 命令: $ echo Hello | cat Hello 假设我在 Perl 6 程序中有一个字符串,我想将其通过管道传递给命令: use v
因此,由于我们拥有各种设置,我习惯于遇到需要将一个可观察结果添加到另一个结果的地方,然后同时使用两者。我需要第一个在另一个之前完成的地方 getUser() .pipe( mergeMap
我在 Angular 5 中有一个非常简单的管道 import { Pipe, Injectable } from '@angular/core'; @Pipe({ name: "defaul
我是一名优秀的程序员,十分优秀!