###前提・実現したいこと
tagにC#とJavaを入れさせて頂きましたが、開発はVB2015で行っています。
サイト上にある画像データが正しいかどうかチェックするため、総当たりで画像をダウンロードしたいです。
これだけなら、Irvineなど画像ダウンロード用のフリーソフトがあるのですが、ちょっと特殊な環境で、上手く動作しません。
このため、seleniumが使用できないかと考えています。
###発生している問題・エラーメッセージ
http://item.shopping.c.yimg.jp/i/j/b-japan_pe0001
掲載の許可を貰ったサイトですが、上記のように、URLが画像を指していません。
画像を示しているのは、「b-japan_pe0001」の部分で、このリストはデータベースとして取得できます。
実際、上記サイトにブラウザで行き、右クリックして、名前を付けて画像を保存 すると、b-japan_pe0001.jpg が保存されます。
という事は、データベースで得たURLをseleniumに与え、画像上で右クリックして保存を繰り返せば、全画像がダウンロードできそうです。
###該当のソースコード
VB2005
1 Dim url1 As String = "http://item.shopping.c.yimg.jp/i/j/" 2 3 Dim profile As New Firefox.FirefoxProfile("C:\Users\shop\AppData\Roaming\Mozilla\Firefox\Profiles\[プロファイル]") 4 driver = New OpenQA.Selenium.Firefox.FirefoxDriver(profile) 5 6 7 ''データベースと接続 8 Call sql_st() 9 10 Dim sql1 As String = "SELECT [b-japan_pe0001などの一覧が入ったデータベースに接続するSQL];" 11 12 Dim dTb1 As DataTable = sql_result_return(sql1) 13 If dTb1.Rows.Count = 0 Then 14 ' レコード取得できず⇒トラブル 15 Dim mr0 As Integer 16 mr0 = MsgBox("データが見つかりません", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "確認") 17 18 Else 19 For Each DRow1 As DataRow In dTb1.Rows 20 21 Dim pid As String = DRow1.Item(0).ToString.ToLower 22 23 Dim url As String = url1 & pid 24 driver.Navigate().GoToUrl(url) 25 26 27 Next 28 End If 29 30 ''データベースを切断
このプログラムを動かすと、指定プロファイルでFirefoxが立ち上がり、画像データ部分をデータベースから取得してURLを生成。該当URLに接続するところまではうまくいきました。
###試したこと
googleなど色々調べてみましたが、右クリックを発生させる方法が見つけられません。
Firefoxにseleniumのプラグインを導入して、画像の上で右クリックをしてみましたが、コードが発生しませんでした。
右クリックを発生させて、ファイルを保存する方法はないでしょうか?
或いは、発生したURLを「名前を付けてページを保存」でもb-japan_pe0001.jpg が保存されますので、どちらかを発生させる事ができたらと思います。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。