2017-05-31 24 views
0
 Month 
<select name="filterMonth" onchange="document.form.submit()"> 
<option value="0"></option> 
    <option value="01">January</option> 
    <option value="02">February</option> 
    <option value="03">March</option> 
    <option value="04">April</option> 
    <option value="05">May</option> 
    <option value="06">June</option> 
    <option value="07">July</option> 
    <option value="08">August</option> 
    <option value="09">September</option> 
    <option value="10">October</option> 
    <option value="11">November</option> 
    <option value="12">December</option> 
</select> 

xpathを使用して"filterMonth"のドロップダウンリストを選択するにはどうすればよいですか?pythonセレン(xpath)を使用してドロップダウンリストを選択

browser.find_element_by_xpath('//*[@id="form"]/table[1]/tbody/tr[3]/td[2]/select[2]') 

は、そのような要素が名前は、ページ全体で一意である場合は、XPath

//select[@name='filterMonth'] 

を使用することができます

答えて

0

を認めなかったことを私にエラーを与えます。

Select select =new Select(driver.findelement(By.xpath("//select[@name='filterMonth']"))); 
select.selectByVisibleText("January"); 

これはJava用です。それに応じてPythonを変更してください。あなたはNoSuchElementException初期HTMLソースに存在し、このタグではないいつものようにあなたのXPathtbodyタグを使用している場合がありますが、動的に生成される可能性があります取得する理由の

0

一つ。もう一つの理由は、全体tableを動的に生成することができ、あなたがそれを処理できるようにするには少し待つべきであるということです。

from selenium.webdriver.support.ui import Select 
from selenium.webdriver.support.ui import WebDriverWait as wait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By 

select = wait(browser, 10).until(EC.presence_of_element_located((By.NAME, "filterMonth"))) 
Select(select).select_by_visible_text("March") 

また、あなたが使用できるドロップダウン

0

を選択するために@Murthi //select[@name="filterMonth"]のXPathで提供します次のコードを試してみてください:

select = Select(driver.find_element_by_xpath("//select[@name='filterMonth']")) 

# select by visible text 
select.select_by_visible_text('January') 
+0

ソリューションは機能しましたか? – Abhinav

+0

いいえ動作していません –

関連する問題