###前提・実現したいこと
Ruby版Selemiumにおいて、複数あるtableをeach文で取り出し、その中「名前」など各情報を抽出したいと考えております。
###対象となるtableのサンプル
html
1<table class="info"> 2 <tbody> 3 <tr><th>名前</th><td>***********</td></tr> 4 <tr><th>郵便番号</th><td>***********</td></tr> 5 <tr><th>住所</th><td>***********</td></tr> 6 <tr><th>電話番号</th><td>***********</td></tr> 7 <tr><th>担当様</th><td>***********</td></tr> 8 </tbody> 9</table> 10<table class="info"> 11 <tbody> 12 <tr><th>名前</th><td>***********</td></tr> 13 <tr><th>郵便番号</th><td>***********</td></tr> 14 <tr><th>住所</th><td>***********</td></tr> 15 <tr><th>電話番号</th><td>***********</td></tr> 16 <tr><th>担当様</th><td>***********</td></tr> 17 </tbody> 18</table> 19<table class="info"> 20 <tbody> 21 <tr><th>名前</th><td>***********</td></tr> 22 <tr><th>郵便番号</th><td>***********</td></tr> 23 <tr><th>住所</th><td>***********</td></tr> 24 <tr><th>電話番号</th><td>***********</td></tr> 25 <tr><th>担当様</th><td>***********</td></tr> 26 </tbody> 27</table>
###該当のソースコード
ruby
1driver.find_elements(:class_name => "info").each do |i| 2 i.driver.find_element(:xpath => "//th[text()='名前']/following-sibling::td") 3 i.driver.find_element(:xpath => "//th[text()='郵便番号']/following-sibling::td") 4 i.driver.find_element(:xpath => "//th[text()='住所']/following-sibling::td") 5 i.driver.find_element(:xpath => "//th[text()='電話番号']/following-sibling::td") 6 i.driver.find_element(:xpath => "//th[text()='担当様']/following-sibling::td") 7end
###試したこと
上記のようにメソッドチェーンを利用し抽出したいと考えていたのですが
String to respond to #shift (ArgumentError)
となってしまい上手く継承出来ません。
どのようにすれば、効率的に情報を抜き出せるかアドバイスお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。