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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

selenium

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

Q&A

2回答

1202閲覧

javascriptで要素の選択をしたい。

kerk

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

selenium

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

0グッド

0クリップ

投稿2020/07/14 09:17

seleniumのexecute_scriptを使用してテキストエリアを指定して文字を入力したいのですが、以下のテキストエリアにはID,name,classが存在しないため要素の指定ができません。
問題の解決方法をご教授していただけると幸いでございます。

html

1<textarea inputplace="Enter here" class="" style="height: 15px;"></textarea>

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

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

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

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

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

guest

回答2

0

今回はxpathを使う方がいいと思います。
第二引数以降は固定でいいでしょう。

python

1kono_textarea_no_xpath = '//textarea[@inputplace="Enter here"]' 2iretai_text = 'hogehoge¥nfugafuga' 3driver.execute_script('document.evaluate(' + kono_textarea_no_xpath + ', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ).value = ' + iretai_text)

投稿2020/07/14 12:29

shirai

総合スコア1290

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

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

0

クエリセレクタを使いましょう。

javascript

1driver.execute_script("document.querySelector('textarea').value = 'テラテイル';")

ただしこの方法だと一番最初に見つかった textarea が入力対象になってしまいます。
id 属性や class 属性が付いていない場合は、その textarea が現れる HTML の構造をある程度書いておく(他の textarea と間違われない様に)と安全です。
例えば

html

1<div class="foo"> 2 <textarea></textarea> 3</div> 4<div class="bar"> 5 <textarea></textarea> 6</div>

この html で bar の下にある textarea の値を変えたいのであれば、クエリセレクタはこうなります。

javascript

1driver.execute_script("document.querySelector('div.bar textarea').value = 'テラテイル';")

投稿2020/07/14 09:22

編集2020/07/14 09:22
mattn

総合スコア5030

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問