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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

selenium

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

Q&A

解決済

2回答

196閲覧

Rubyにおいて文字列でAもしくはBという表現を教えてください。

shuyaaa

総合スコア22

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

selenium

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

1グッド

1クリップ

投稿2018/12/18 12:30

rubyのseleniumを使って入力フォームの自動プログラムを作成しています。
タグがinputとselectであるものの要素を同時に取得したいのですがうまくいきません。
具体的には

require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
driver.navigate.to "サイトURL"
element = driver.find_elements(:tag_name, "input"||"select")

と書き、inputは問題ないのですがselectが取得できていません。
問題箇所は"input"||"select"だと思うのですが、inputもしくはselectであるtag_nameという書き方を教えていただきたいです。よろしくお願いします。

DrqYuto👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

ruby

1 element = ['input', 'select'].map { |e| driver.find_elements(tag_name: e) }.flatten

投稿2018/12/18 14:05

編集2018/12/18 14:13
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

shuyaaa

2018/12/19 07:51

ありがとうございます。解決しました! mapなど利用したことのないものでしたので勉強させていただきます。
退会済みユーザー

退会済みユーザー

2018/12/19 08:14 編集

find_elementsは条件に当てはまる要素の配列を返すのかぁ...
guest

0

そういった書き方をしたことがないので未検証でわからないですが

ruby

1element = driver.find_elements(:tag_name, /input|select/)

でしょうか...
find_elementsの引数に正規表現が使えるのであればですが。

投稿2018/12/18 12:50

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

shuyaaa

2018/12/18 13:21

ご返信ありがとうございます。 そちらの一文を試しましたところ、elementに何も代入されなかっためfind_elementsの引数に正規表現が使えないのかもしれません。 seleniumのドキュメントを漁っていますが、もし他に案があればまたよろしくお願いします。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問