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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

127閲覧

send_keysでAttributeError: 'NoneType' object has no attribute 'send_keys'というエラー

ricopin333

総合スコア3

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

0クリップ

投稿2024/04/23 07:08

実現したいこと

ウェブスクレイピングにおいて期間を設定するためにカレンダーをクリックし,期間を入力したい

発生している問題・分からないこと

カレンダーをクリックするところまではできましたが,6行目のsend_keysで入力しようとしたらエラーがでました.

エラーメッセージ

error

1AttributeError: 'NoneType' object has no attribute 'send_keys'

該当のソースコード

from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By FROM = "01-03-2024" start_span = driver.find_element(By.XPATH,("//input[@name='from']")).click() start_span.send_keys(FROM)

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

start_span[0].send_keys(FROM)
こちらのコードをためしましたが今度は
TypeError: 'NoneType' object is not subscriptable
このようなエラーが出ました

補足

特になし

melian👍を押しています

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

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

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

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

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

melian

2024/04/23 07:21

> start_span = driver.find_element(By.XPATH,("//input[@name='from']")).click() click() メソッドは値を返しません。そのため、変数 start_span は None になります。ウェブページの構造が不明なので推測になりますが、対象の input 要素が表示されている状態(visible)であれば click() は不要かもしれません。 start_span = driver.find_element(By.XPATH,("//input[@name='from']")) start_span.send_keys(FROM)  
ricopin333

2024/04/23 08:01

コメントありがとうございます。 click()メゾットが値を返さないことを知らなかったので勉強になりました! start_span = driver.find_element(By.XPATH,("//input[@name='from']")) start_span.send_keys(FROM) を試したところ問題が解決しました! ベストアンサーに選びたいのでmelianさん,同じ内容を回答欄に投稿いただけますでしょうか?
can110

2024/04/23 08:11

解決おめでとうございます! 解決方法をまとめて、「自己解決」として回答してください! 同じように困っている人の貴重な情報になると思います。
otn

2024/04/23 15:47

> click()メゾットが値を返さないことを知らなかったので あらかじめ知っている必要はありません。 エラーメッセージから、start_span の値がが None である事が明らかなので、それに代入している driver.find_element(By.XPATH,("//input[@name='from']")).click() が Noneを返していることは明らかです。 x = foo() print(x) で abc と表示されれば、foo() がabcを返していることは明らかというのと全く同じ話です。
guest

回答1

0

ベストアンサー

※ コメントから転記

python

1start_span = driver.find_element(By.XPATH,("//input[@name='from']")).click()

click() メソッドは値を返しません。そのため、変数 start_spanNone になります。ウェブページの構造が不明なので推測になりますが、対象の input 要素が表示されている状態(visible)であれば click() は不要かもしれません。

python

1start_span = driver.find_element(By.XPATH,("//input[@name='from']")) 2start_span.send_keys(FROM)

投稿2024/04/23 08:08

melian

総合スコア19833

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問