2017-04-05 10 views
0

私のウェブサイトでリスティングの作成を自動化しようとしています。私はCloud9とWatirを使い、ヘッドレスのクロムブラウザを使用しています。コードはRubyで書かれています。何らかの理由で写真のアップロードが拒否されます。端末上Rubyを使用してWatir、Headless Browser、Chromedriverを使用してファイルをアップロードできません

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 ; "

答えて

1

pathには実際のファイルへのパスが含まれていますか?あなたの例では、親ディレクトリを指しているようです。

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

を、あなたは私の意見では、問題ないはずです。これにそれを回すFile.dirname(photo)を捨てます。

+0

ありがとうございました!私はパスコードがそれを返す印象の下にあったと思うが、明らかにそうではない! – ByteMe

関連する問題