【问题标题】:Selenium: Download file to specific folder using chrome driverSelenium:使用 chrome 驱动程序将文件下载到特定文件夹
【发布时间】:2014-08-09 13:10:23
【问题描述】:

我正在使用 selenium 和 chromedriver 来自动化登录页面并将文件下载到特定文件夹。我可以登录并单击下载链接。但这会将文件下载到默认下载文件夹。但我希望将文件下载到我想要的文件夹中。 我使用了下面的代码(vb.net)。我从 C# 中的this link 得到它

Protected Function downloadFile(ByVal driver As IWebDriver, ByVal url As String, ByVal localPath As String)
    Try
        Dim client = New WebClient()
        client.Headers(HttpRequestHeader.Cookie) = cookieString(driver)
        client.DownloadFile(url, localPath)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Function

Private Function cookieString(ByVal driver As IWebDriver) As String
    Try

        Dim cookies = driver.Manage().Cookies.AllCookies
        Dim a As New System.Text.StringBuilder

        For index As Integer = 0 To cookies.Count - 1
            a.Append(cookies(index).Name)
            a.Append("=")
            a.Append(cookies(index).Value)
            a.Append("; ")

        Next
        cookieString = a.ToString

    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Function

但它不起作用。下载的文件包含页面的 html 源,但来自该 url 的实际文件应该是 pdf(当我在同一个 chrome 窗口中手动导航 url 时,我下载了 pdf 文件)我在做什么错了?我认为在 cookieString 函数中处理 cookie 可能是错误的。或者有没有其他方法可以在我登录页面后将文件下载到我所需的路径。

【问题讨论】:

  • @Bjørn-RogerKringsjå 我已经用我面临的问题更新了这个问题。

标签: vb.net selenium selenium-chromedriver


【解决方案1】:

使用File.Move 将文件从默认下载文件夹移动到所需文件夹会更容易

我目前面临同样的问题,目前 ChromeDrive 无法更改默认下载位置

【讨论】:

  • 可以放在评论里
  • 我没有足够的积分来评论OP的问题,只能回答,甚至不能投票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
相关资源
最近更新 更多