質問: url1 & pid driver.Navigate().GoToUrl(url) Next End If ''データベースを切断 ``` このプログラムを動かすと、指定プロファイルでFirefoxが立ち上がり、画像データ部分をデータベースから取得してURLを生成。該当URLに接続するところまではうまくいきました。 ### 試したこと googleなど色々調べてみましたが、右クリックを発生させる方法が見つけられません。 Firefoxにseleniumのプラグインを導入して、画像の上で右クリックをしてみましたが、コードが発生しませんでした。 右クリックを発生させて、ファイルを保存する方法はないでしょうか? 或いは、発生したURLを「名前を付けてページを保存」でもb-japan_pe0001.jpg が保存されますので、どちらかを発生させる事ができたらと思います。 よろしくお願いいたします。
回答: 今回については、googleで探していたところ、WebClient()でダウンロード出来そうな記事を見つけ、次のようにしてみました。 ``` Dim url1 As String = "http://item.shopping.c.yimg.jp/i/j/" ''データベースと接続 Dim sql1 As String = "SELECT [b-japan_pe0001などの一覧が入ったデータベースに接続するSQL];" Dim dTb1 As DataTable = sql_result_return(sql1) If dTb1.Rows.Count = 0 Then ' レコード取得できず⇒トラブル Dim mr0 As Integer mr0 = MsgBox("データが見つかりません", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "確認") Else For Each DRow1 As DataRow In dTb1.Rows Dim url As String = [SELECTの結果] Dim fn1 As String = pid & ".jpg"'<結果に.jpgを付与してファイル名にしている Dim wc As New System.Net.WebClient() wc.DownloadFile(url, fn1) Next End If ''データベースを切断 ``` 画像の拡張子を含まないURLを与え、それに拡張子を付けたものをダウンロード名として割り当てたところ、画像をダウンロードできました。 ただ、Yahoo!ショッピングのこの画像参照ページは、HTMLとしての行儀が悪いのか、 「サーバーによってプロトコル違反が発生しました. Section=ResponseHeader Detail=CR の後には LF を指定しなければなりません」 のエラーが頻発しました。 をapp.configとして保存してからコンパイルして、とりあえずダウンロードできるようになりました。