【发布时间】:2016-01-29 12:50:59
【问题描述】:
通过 selenium webdriver,我正在尝试自动上传文件(包含数百兆字节的大文件)。
通常它工作正常,但有时网站不上传文件,上传进度卡在 0%。
因此我想在一定的时间间隔后检查进度条 style.width 是否为 0%(以确定是否卡住)。
通常这不会有问题,但是显然 Selenium 在上传文件时被阻止(我认为这是因为请求正在进行中),因此如果我尝试在上传完成之前检查宽度,则会出现超时异常。
有人知道解决这个问题的方法吗? IE。忽略 selenium 中的块以允许我检查 DOM 而不会出现超时异常。
【问题讨论】:
-
您是否必须为此使用 Selenium,而不是简单的 HTTP 请求,或
curl、scp、ssh、FTP 等? -
@AndrewRegan 问题是,该站点非常以 JS 为中心,因此使用原始 HTTP 请求将被证明是非常困难的,如果不是不可能的话。
-
好的,所以您正在测试网站的上传功能,而不仅仅是尝试自动执行手动管理任务?但是,在这种情况下,为什么要使用大量文件?这适用于小文件吗?
-
@AndrewRegan 老实说,除了自动执行外部网站的上传任务之外,我没有测试任何东西。问题是,当上传卡在零时(不时发生)我无法运行任何驱动程序方法,直到请求返回(这永远不会发生)所以我想知道是否有任何方法可以绕过 selenium 的“块”并实际检查页面来源。
-
只有在通过 Selenium 运行而不是手动运行时才阻止上传?如果真正的问题是服务器错误、JS 错误或网络问题,我不明白为什么 Selenium 会影响事情。也许只是巧合?尝试找出其中任何一个是否是根本原因,而不是尝试解决超时问题。
标签: selenium selenium-webdriver webdriver