无法使用 Watir、无头浏览器、Chromedriver 上传文件,使用 Ruby

Can't upload file using Watir, Headless Browser, Chromedriver, using Ruby

我正在尝试在我的网站上自动创建列表,但在为列表上传图片时遇到了很多困难。我正在使用 Cloud9 和 Watir,并使用无头 chrome 浏览器,代码是用 Ruby 编写的。由于某种原因,照片拒绝上传。

Click to see picture of upload area

photo = File.open("00909_8qYJaR8wTix_600x450.jpg", "a") 
path = File.expand_path(File.dirname(photo))
browser.file_field(:type,"file").set(path)

终端输出:

[8] pry(main)> browser.file_field(:type,"file").value
=> ""
[9] pry(main)> path
=> "/home/ubuntu/workspace/scraper"
[10] pry(main)> File.exist? (path)
=> true

HTML 输入 class="fileupload" multiple="multiple" type="file" style="display: 内嵌块;"

path 变量不应该包含实际文件的路径吗?从您的示例来看,它看起来像是指向父目录。抛弃 File.dirname(photo) 把它变成这样:

photo = File.open("00909_8qYJaR8wTix_600x450.jpg", "a") 
path = File.expand_path(photo)
browser.file_field(:type,"file").set(path)

我认为你应该没问题。