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

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

新規登録して質問してみよう
ただいま回答率
85.50%
ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

Python

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

selenium

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

HTML

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

Q&A

解決済

2回答

2370閲覧

python selenium でhtmlのラジオボタンを選択したい

mi_chan613

総合スコア13

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

Python

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

selenium

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

HTML

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

0グッド

0クリップ

投稿2021/12/24 03:30

超初心者です。
htmlのラジオボタンをクリックしたいです。

お届け先住所に「ご登録の住所」ラジオボタンと「その他の住所」ラジオボタンがあります。
今、「ご登録の住所」ラジオボタンが選択されていて、
それを「その他の住所」ラジオボタンを選択したいです。
「その他の住所」ラジオボタンを選択すると、住所の入力画面が出ます。

html

1<dd> 2 <input id="registeredAddressCheck" type="radio" name="addressCheck" value="N" class="radioFormType01" checked><label for="registeredAddressCheck">ご登録の住所</label> 3 <p class="addressArea"> 4 〒郵便番号<br> 5 住所<br> 6 会社名<br> 7 電話番号 8 </p> 9 <a href="https://www.netsea.jp/account" target="_blank" class="infoLink">修正する場合は登録情報管理へ</a> 10 <p class="tR fSize03 tColor02">変更後の情報は次の画面で反映されます</p> 11</dd> 12<dd> 13 <input id="inputAddressCheck" type="radio" name="addressCheck" value="Y" class="radioFormType01" ><label for="inputAddressCheck">その他の住所(消費者直送)</label> 14 15 <table class="tableType04 addressArea"> 16 <tbody> 17 <tr> 18 <th scope="row">郵便番号<span class="labelType01">必須</span></th> 19           この後は、住所の入力画面が表示されるソースが続きます。 20

pythonで、

python

1driver.find_element_by_xpath('//input[@name="addressCheck" and value="Y"]').click()

と書きました。

エラーが出て、

VScode

1c:\Users\mi_chan\Documents\tampopo\PSauto.py:105: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead 2 driver.find_element_by_xpath('//input[@name="addressCheck" and value="Y"]').click() 3Exception in Tkinter callback 4Traceback (most recent call last): 5 File "C:\Users\mi_chan\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__ 6 return self.func(*args) 7 File "c:\Users\mi_chan\Documents\tampopo\PSauto.py", line 105, in btnURL_click 8 driver.find_element_by_xpath('//input[@name="addressCheck" and value="Y"]').click() 9 File "C:\Users\mi_chan\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 520, in find_element_by_xpath 10 return self.find_element(by=By.XPATH, value=xpath) 11 File "C:\Users\mi_chan\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1244, in find_element 12 return self.execute(Command.FIND_ELEMENT, { 13 File "C:\Users\mi_chan\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute 14 self.error_handler.check_response(response) 15 File "C:\Users\mi_chan\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response 16 raise exception_class(message, screen, stacktrace) 17selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@name="addressCheck" and value="Y"]"} 18 (Session info: chrome=96.0.4664.110) 19Stacktrace: 20Backtrace: 21 Ordinal0 [0x00FF6903+2517251] 22 Ordinal0 [0x00F8F8E1+2095329] 23 Ordinal0 [0x00E92848+1058888] 24 Ordinal0 [0x00EBD448+1233992] 25 Ordinal0 [0x00EBD63B+1234491] 26 Ordinal0 [0x00EE7812+1406994] 27 Ordinal0 [0x00ED650A+1336586] 28 Ordinal0 [0x00EE5BBF+1399743] 29 Ordinal0 [0x00ED639B+1336219] 30 Ordinal0 [0x00EB27A7+1189799] 31 Ordinal0 [0x00EB3609+1193481] 32 GetHandleVerifier [0x01185904+1577972] 33 GetHandleVerifier [0x01230B97+2279047] 34 GetHandleVerifier [0x01086D09+534521] 35 GetHandleVerifier [0x01085DB9+530601] 36 Ordinal0 [0x00F94FF9+2117625] 37 Ordinal0 [0x00F998A8+2136232] 38 Ordinal0 [0x00F999E2+2136546] 39 Ordinal0 [0x00FA3541+2176321] 40 BaseThreadInitThunk [0x765CFA29+25] 41 RtlGetAppContainerNamedObjectPath [0x77337A9E+286] 42 RtlGetAppContainerNamedObjectPath [0x77337A6E+238] 43 44[26148:18272:1224/115219.114:ERROR:gpu_init.cc(457)] Passthrough is not supported, GL is disabled, ANGLE is 45[29372:24412:1224/115226.342:ERROR:gpu_init.cc(457)] Passthrough is not supported, GL is disabled, ANGLE is 46 47コード

とエラーが出ます。

他に試したことは、

python

1driver.find_element_by_id("inputAddressCheck").click() driver.find_elements_by_name('addressCheck')[1].click()

ですが、うまくいきませんでした。

すみませんが、よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

自己解決

もう一度、find_element_by_xpathについて、いろいろ調べたところ、
ラジオボタンの上で右クリックして「検証」をクリック。右に出てくる「Elements」タブの上で右クリックをしたら「Copy」→「Copy XPath]から
XPathが取得できることを知りました。
そこでコピーしてきたXPathを貼り付けると、できるようになりました。

投稿2021/12/24 06:57

mi_chan613

総合スコア13

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

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

0

'//input[@name="addressCheck" and value="Y"]'

valueじゃなくて@valueです。

投稿2021/12/24 04:11

otn

総合スコア84423

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

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

mi_chan613

2021/12/24 06:38

回答ありがとうございます。 @を付けましたが、うまくいきませんでした。 もう一度、find_element_by_xpathについて、いろいろ調べたところ、 「検証」→「Elements」のCcopy」→「Copy XPath]から XPathが取得できることを知りました。 そこでコピーしてきたXPathを貼り付けると、できるようになりました。 よく分かってないソースを書いて、質問してしまって申し訳ありません。 これからは、もっと違う角度からも調べて、質問するようにします。 忙しいところ、お手数をおかけして申し訳ありませんでした。
otn

2021/12/27 01:05

> 「検証」→「Elements」のCcopy」→「Copy XPath]から そのレベルで間に合うページなら(変動が無いなら)それが楽ですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問