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

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

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

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

selenium

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

Q&A

解決済

1回答

3572閲覧

Python Seleniumによる操作でドロップダウンリストが選択出来ない

Neil.

総合スコア1

Python

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

selenium

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

0グッド

0クリップ

投稿2020/09/17 06:57

前提・実現したいこと

Python Seleniumによる操作でドロップダウンリストが選択出来出来るようにしたいです。

ここに質問の内容を詳しく書いてください。
・Python x Selenium
ブラウザ:Google Chrome
にて、ブラウザ操作で自動化を試しておりログイン、テキスト入力などは問題無くできましたが
ドロップダウン操作で苦戦しております。

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

エラーメッセージ
NoSuchElementException:Message: no such element: Unable to locate element:
{"method":"css selector","selector":"[name="option"]"}
(session info:chrome = 85.0.4183.102)

もしくは、
NoSuchElementException:Message: no such element: Unable to locate element:
{"method":"xpath","selector":"[/html/body/form/div[5]/div[1]/table/tbody/tr[1]/td[3]/select/option[3]"]"}
(session info:chrome = 85.0.4183.102)

該当のソースコード

Python

from selenium import webdriver
import chromedriver_binary
driver = webdriver.Chrome()
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui.import Select
driver.get("https://目的のwebsite.com/")

**element = driver.find_element_by_name("option")**←エラーが出ることろ
Text = "オプション3"
select = Select(element)
select.select_by_visible_text(Text)

もしくは、xpathでも以下のように試してみましたが同様のエラーが出ました。
element = driver.find_element_by_xpath("/html/body/form/div[5]/div[1]/table/tbody/tr[1]/td[3]/select/option[3]")←エラーが出るところ

試したこと

同じウェブページでテキスト入力、ログインボタンなどは問題なく作動していることを確認しています。
このときは、xpath Fullパスで指定をしております。

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

Chrome検証モードで、対象のドロップダウンが以下のように記述されている事を確認しました。

<select name ="option" onkeyup"Enter_Search_Start()" onchange ="d001c_checkDisableOfOption();">

<option value="1" selected ="selected"> オプション1</option> <option value="2">オプション2</option> <option value="3">オプション3</option></select> ここにより詳細な情報を記載してください。

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

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

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

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

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

shirai

2020/09/19 05:09

driver.getの次の行に print(driver.current_source) を打ってください。 目的のselectタグはありますか?
shirai

2020/09/19 12:05

間違えましたcurrent_sourceじゃなくてpage_sourceですね
guest

回答1

0

ベストアンサー

Python

1from selenium import webdriver 2import chromedriver_binary 3driver = webdriver.Chrome() 4from selenium.webdriver.support.select import Select 5from selenium.webdriver.support.ui.import Select 6driver.get("https://目的のwebsite.com/") 7 8element = driver.find_element_by_xpath("/html/body/form/div[5]/div[1]/table/tbody/tr[1]/td[3]/select") # selectタグ選ぶ? 9Text = "3" 10select = Select(element) 11select.select_by_value(Text)

もしくは Javascriptで?

投稿2020/09/22 10:34

Reach

総合スコア735

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問