seleniumでスクレイピングの勉強をしているのですが、ドロップダウンメニューを選択する方法が
解らず困っております。
html
1<div class="style_select__3R6W_ common_fontFamily__3-3Si style_error__Ka39v style_fluid__31br4"> 2<div class="style_selectarea__3ZX8E"> 3<select name="categoryId"><option value="" label="選択してください" aria-selected="true">選択してください</option> 4<option label="レディース" value="1" aria-selected="false">レディース</option> 5<option label="メンズ" value="2" aria-selected="false">メンズ</option> 6<option label="ベビー・キッズ" value="3" aria-selected="false">ベビー・キッズ</option><option label="インテリア・住まい・小物" value="4" aria-selected="false">インテリア・住まい・小物</option> 7<option label="本・音楽・ゲーム" value="5" aria-selected="false">本・音楽・ゲーム</option><option label="おもちゃ・ホビー・グッズ" value="1328" aria-selected="false">おもちゃ・ホビー・グッズ</option> 8<option label="コスメ・香水・美容" value="6" aria-selected="false">コスメ・香水・美容</option> 9<option label="家電・スマホ・カメラ" value="7" aria-selected="false">家電・スマホ・カメラ</option> 10<option label="スポーツ・レジャー" value="8" aria-selected="false">スポーツ・レジャー</option> 11<option label="ハンドメイド" value="9" aria-selected="false">ハンドメイド</option> 12<option label="チケット" value="1027" aria-selected="false">チケット</option> 13<option label="自動車・オートバイ" value="1318" aria-selected="false">自動車・オートバイ</option> 14<option label="その他" value="10" aria-selected="false">その他</option> 15</select> 16<svg width="24" height="24" fill="#888888" fill-rule="evenodd" viewBox="0 0 24 24" aria-hidden="true"><path d="M12,15.66a1.73,1.73,0,0,1-1.2-.49L5.21,9.54a.7.7,0,0,1,1-1l5.62,5.62c.15.15.27.15.41,0L17.8,8.6a.71.71,0,0,1,1,0,.69.69,0,0,1,0,1l-5.57,5.58A1.71,1.71,0,0,1,12,15.66Z"> 17</path> 18</svg> 19</div> 20</div> 21
Excelの”A1"セルに選択したい内容を記入(例レディース)それを参照して
上のようなドロップダウンリストの中から同じ項目を選択したい場合
Excel、VBA、seleniumでどのようなコードを書けばよいのでしょうか?
ご教授いただけましたら幸いです。
vba
1 2Sub sukureip() 3Dim Driver As New Selenium.WebDriver 4 Driver.Start "chrome" 5 Driver.Get "hogefuga" 6 7 8Dim rc As Long 9Dim elm As Selenium.WebElement 10 11 rc = MsgBox("ログイン完了したらOKボタンを押してください", vbOKOnly) 12 13 If rc <> vbOKOnly Then 14 15 Set elm = Driver.FindElementByXPath("hoge") 16 17 elm.Clear 18 19 Driver.Wait 3000 20 21 Set elm = Driver.FindElementByXPath("hoge") 22 23 elm.Clear 24 25 'ここに選択するコードを書きたい 26 27'------追記----------------------------------------------------------------- 28 Dim optionText As String 29 30 31 32 optionText = Worksheets("Sheet1").Range("a1").Value '←ここでエラーになってしまいます 33 34 35 36 Driver.FindElementByName("categoryId").AsSelect.SelectByText (optionText) 37'----------------------------------------------------------------------------- 38 39 40 End If 41 Driver.Close 42 Set Driver = Nothing 43 44End Sub
解決策を教えて頂いたのですが追記矢印の場所で
実行時エラー59
レコード長が正しくありません
と出てしまいました。自分なりにググってみたのですがよくわからないので教えて頂けましたら
幸いです。よろしくお願いいたします。
環境
Windows10
Excel 2016
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。