■分からないこと
seleniumで以下のことを練習としてやっています。
①googleで任意の値で検索
②検索結果の1ページ目のタイトルテキストを取得
③csvにして出力する
②までは出来たのですが③でundefined method `map' というエラーが出てしまいます。
原因がよく分からず解決出来ません。
ご教授いただけますと助かります。
Ruby
1require 'selenium-webdriver' 2require 'byebug' 3require 'csv' 4 5wait = Selenium::WebDriver::Wait.new(timeout: 100) 6driver = Selenium::WebDriver.for :chrome 7driver.navigate.to "http://google.com" 8wait.until {driver.find_elements(:xpath, '//*[@id="tsf"]/div[2]/div/div[1]/div/div[1]/input')} 9driver.find_element(:xpath, '//*[@id="tsf"]/div[2]/div/div[1]/div/div[1]/input').send_keys("サンプル");sleep 1 10driver.find_element(:name, 'btnK').click;sleep 2 11 12driver.find_element(:xpath, '//*[@id="nav"]/tbody/tr/td[3]/a').location_once_scrolled_into_view 13elements = wait.until { driver.find_elements(:class, 'LC20lb') } 14if elements.size > 0 15 elements.each do |e| 16 @values = e.text 17 end 18end 19 20headers = ["title"] 21CSV.open("google_test.csv", "a", :headers => headers, :write_headers => true) do |csv| 22 csv_column_values = @values 23 csv << csv_column_values 24end 25 26driver.quit 27
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。