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()
お力をお借りできましたら幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー