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

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

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

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

selenium

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

Q&A

0回答

1010閲覧

Operaブラウザでsend_keysを使用したい

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

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

selenium

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

0グッド

0クリップ

投稿2021/11/03 14:06

前提・実現したいこと

send_keysを用いて、input要素の中身にテキストを追加したいと考えています。

発生している問題・エラーメッセージ

Selenium公式のコードを一部改変して、input要素を変更しようとしました。

Python

1from selenium import webdriver 2from selenium.webdriver.common.by import By 3driver = webdriver.Opera(executable_path="operadriver.exe") 4# Navigate to url 5driver.get("http://www.google.com") 6 7# Enter "webdriver" text and perform "ENTER" keyboard action 8driver.find_element(By.NAME, "q").send_keys("webdriver") 9

しかし、実際に実行すると、下のようなエラーが出ました。

AttributeError: 'dict' object has no attribute 'send_keys'

find_elementの結果は以下のようになっていました。

{'ELEMENT': '0.054388548027942685-1'}

試したこと

まず、dictionaryの型でsend_keysに渡したのが原因だと考え、jsonモジュールを用いてstrに変換しましたが、

AttributeError: 'str' object has no attribute 'send_keys'

というようなエラーが出ました。
また、OperaのWebdriverが原因と考え、ChromedriverやGeckodriverを使用するように変更しましたが、その場合はなぜか成功しました。

補足情報(FW/ツールのバージョンなど)

selenium公式
https://www.selenium.dev/ja/documentation/webdriver/keyboard/
operadriverのリンク
https://github.com/operasoftware/operachromiumdriver/releases
chromeやfirefoxのwebdriverをインストールする際に参考にしたサイト
https://qiita.com/hanzawak/items/2ab4d2a333d6be6ac760

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問