質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

1004閲覧

rails selenium 検索フォームを作りたい

pokerStars

総合スコア67

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2018/10/09 08:13

編集2018/10/09 11:00

controller

1def index 2require 'selenium-webdriver' 3require 'nokogiri' 4 5options = Selenium::WebDriver::Chrome::Options.new 6options.add_argument('--headless') 7options.add_argument('--disable-gpu') 8 9driver = Selenium::WebDriver.for :chrome, options: options 10 11 12driver.navigate.to 'https://www.justwatch.com/jp/検索?q=ウォーキング・デッド&providers=nfx,hlu,dtv,amp,unx' 13wait = Selenium::WebDriver::Wait.new(timeout: 300) 14wait.until { driver.find_element(xpath: '//div[2]/filter-bar/div[2]/div[2]/div[3]/div[2]/div') } 15doc = Nokogiri::HTML.parse(driver.execute_script('return document.documentElement.innerHTML')) 16 17# 検索結果のタイトルを表示 18doc.xpath('/html/body/div[2]/filter-bar/ng-transclude/core-list/div/div/div[1]/search-result-entry/div/div[2]/div[2]/div/div[1]/div/div/div/div/div[2]/div[1]').each do |node| 19 @result= "結果:" + node.xpath('search-result-entry/div/div[2]/div[1]/a/span[1]').text 20end 21 end 22 23def create 24 @title = Title.new(title_params) 25 26 respond_to do |format| 27 if @title.save 28 format.html { redirect_to @title, notice: 'Title was successfully created.' } 29 format.json { render :show, status: :created, location: @title } 30 else 31 format.html { render :new } 32 format.json { render json: @title.errors, status: :unprocessable_entity } 33 end 34 end 35 end 36 37 38def title_params 39 params.require(:title).permit(:title) 40 end

View

1<h1>Titles</h1> 2 3<%= form_for(@title) do |f| %> 4 <%= f.label :title, 'タイトル' %> 5 <%= f.text_field :title %> 6 7 <%= f.submit '検索' %> 8<% end %> 9 10<%= @result %> 11 12 13 14

scaffoldで簡易的に作っています

ウォーキング・デッドのところをユーザーの入力に応じた検索結果を表示したいのですが、どのようにformを使えばいいのかわかりません。

何卒よろしくお願いいたします!!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このフォームの内容で submit しているのであれば、おそらく params[:title] 等で、フォームの入力値が取得できませんか?

投稿2018/10/09 09:20

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pokerStars

2018/10/09 10:37

回答ありがとうございます。 @title=Title.params[:title]と書けばいいのでしょうか? あと、controllerのcreateに書くのがいいのでしょうか?
pokerStars

2018/10/09 11:00

今このようになっています。追記しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問