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

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

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

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

Python

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

selenium

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

Q&A

0回答

1301閲覧

python seleniumで選択できない

masa1975

総合スコア22

スクレイピング

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

Python

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

selenium

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

0グッド

0クリップ

投稿2021/06/20 07:37

seleniumによるスクレイピングを勉強しておりますが、
選択したい値をselectで選択したところ、全て選択されてしまいます。
お力添えいただけましたら幸いです。

html

1<div style="margin:4px 0px;"> 2<select id="groupSelect" name="CGID" class=" select" title="" onchange="ChangeCGID( this.form )"> 3 <option value="0">(全員)</option> 4 <option value="99">a</option> 5 <option value="95">b</option> 6 <option value="97" selected="">c</option> 7 <option value="93">d</option> 8 <option value="101">e</option> 9 <option value="103">f</option> 10 <option value="1035">g</option> 11 <option value="204">管理者</option> 12</select> 13</div> 14<select name="CID" size="6" multiple="" title=""> 15 <option value="63">g1</option>#この値が欲しい 16 <option value="89">g2</option> 17 <option value="73">g3</option> 18 <option value="75">g4</option> 19 <option value="81">g5</option> 20 <option value="1050">g6</option> 21 <option value="1079">g7</option> 22 <option value="1281">g8</option> 23 <option value="1295">g9</option> 24 25</select>

この様な状況で上のvalue=63を取得したいのですが
以下のコードで実行しますとvalue=63から下の値すべてが取れてしまいます。
何故でしょうか?

python

1 2 3import time 4from datetime import datetime 5from selenium.webdriver.common.keys import Keys 6from selenium import webdriver 7from selenium.webdriver.chrome.options import Options 8from selenium.webdriver.support.ui import Select 9 10driver = webdriver.Chrome(executable_path=r"hoge") 11 12driver.get('fuga') 13 14time.sleep(3) 15 16 17id = driver.find_element_by_name('username') 18id.send_keys('fumu') 19password = driver.find_element_by_name('password') 20password.send_keys('fumu') 21time.sleep(1) 22 23# ログインボタンをクリック 24login_button = driver.find_element_by_class_name("login-button") 25login_button.click() 26 27time.sleep(3) 28 29element=driver.find_element_by_link_text("a1") 30 31element.click() 32 33time.sleep(3) 34 35elements=driver.find_element_by_partial_link_text("b1") 36 37elements.click() 38 39time.sleep(3) 40 41driver.find_element_by_xpath('//*[@id="content-wrapper"]/div[4]/div/form/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/div/table/tbody/tr[2]/td/table/tbody/tr/td[1]/input').send_keys("selenium テスト") 42time.sleep(3) 43driver.find_element_by_id('Data').send_keys("試験中") 44 45time.sleep(3) 46 47driver.find_element_by_xpath("//*[text()=\"b\"]").click() 48 49 50elem=driver.find_element_by_name("CID") 51 52elems=Select(elem) 53 54elems.select_by_value("63") 55 56driver.find_element_by_xpath("//input[@value='← 追加']").click()

お力をお借りできましたら幸いです。
よろしくお願いいたします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問