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

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

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python 3.x

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

Python

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

selenium

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2934閲覧

Seleniumを使っています。inputタグにsend_keysで送ったテキストが、次のinputタグにsend_keyでテキストを送ると消えてしまいます。

Aki1000

総合スコア78

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python 3.x

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

Python

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

selenium

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/11/17 01:02

編集2020/11/17 16:11

以下のようなID、パスワード、キーを入れる画面があります。

html

1<tr> 2<td nowrap class="tdl">ID:</td> 3<td><input name="@PMCC-1@" type="text" value="" size="4" maxlength="3" id="putbox1" tabindex="1"></td> 4<td class="tdRule"><div class="ruleUnit"><span class="rule">number_digits_3</span></div></td> 5</tr> 6 7<tr> 8<td nowrap class="tdl">PASSWORD:</td> 9<td><input name="@PMCC-2@" type="text" value="" size="7" maxlength="6" id="putbox2" tabindex="2"></td> 10<td class="tdRule"><div class="ruleUnit"><span class="rule">number_digits_6</span></div></td> 11</tr> 12 13<tr> 14<td nowrap class="tdl">KEY:</td> 15<td><input name="@PMCC-3@" type="password" size="12" maxlength="10" id="putbox3" tabindex="3"></td> 16<td class="tdRule"><div class="ruleUnit"><span class="rule">number_digits_4_10</span></div></td> 17</tr>

これに対して、

driver = webdriver.Chrome(r"\chromedriver.exe")
driver.get('https://URL/')

Anumber = driver.find_element_by_name('@PMCC-1@')
Anumber.send_keys("111")
Bnumber = driver.find_element_by_name('@PMCC-2@')
Bnumber.send_keys("222222")
Cnumber = driver.find_element_by_name('@PMCC-3@')
Cnumber.send_keys("3333333")

Bottun_elm = driver.find_element_by_xpath(Login_Bottun_xpath)
Bottun_elm.click()

という風にして、inputにsend_keyでテキストを入力したのですが、一つ目を入力し終わり、二つ目にテキストが入力されると一つ目のテキストが消え、三つ目が入力されると二つめのテキストが消え、ボタンを押すときには三つ目のinputにしか文字が入っていないという変な現象が起きています。
どうしたら良いでしょう?

怪現象に思えるのですが、何か心当たりなり、解決方法なりご存じの方は居ませんでしょうか?

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

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

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

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

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

guest

回答2

0

自己解決

一行目の
driver = webdriver.Chrome(r"\chromedriver.exe")

このchrome用ドライバをfirefox用に代えたら問題なく動いた。同じプログラムなのにテキストは消えなくなった。
つまり、このコードの問題でなくSeleniumのchromedriverにバグがあるのだろう。

投稿2020/11/19 20:30

Aki1000

総合スコア78

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

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

0

ローカル環境に上記のHTMLを貼り付けて試してみましたがテキストは残りますね。
何か他に要因があるのかもしれません。

例えば、

Python

1Anumber = driver.find_element_by_name('@PMCC-1@') 2Anumber.click() 3Anumber.send_keys("111") 4Bnumber = driver.find_element_by_name('@PMCC-2@') 5Bnumber.click() 6Bnumber.send_keys("222222") 7Cnumber = driver.find_element_by_name('@PMCC-3@') 8Cnumber.click() 9Cnumber.send_keys("3333333")

としてみるとか、あるいは
Selenium Webdriver - The entered text is vanished when jumping to the next field

この記事の例ですと、

Python

1from selenium.webdriver.common.keys import Keys 2 3element.send_keys(text) 4element.send_keys(Keys.UP)

としてみるなど。

投稿2020/11/17 08:04

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Aki1000

2020/11/17 14:56

ありがとうございます。試してみましたが、残念ながら挙動は同じでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問