2016-01-20 111 views
1

我试过SELECT类的实用工具,它的所有功能包括selectByVisibleText()等,但没有成功。以下是我的元素的div层次结构,然后是我想要阅读的<select>框。使用Selenium Webdriver从python中的下拉列表中选择选项

<div class="abc"> 
    <div class="def"> 
    <div class="xyz"> 
     <div></div> 
     <select class="qwe" id="asd"> 
     <option class="zxc" label="test" value="01">01</option> 
and options are so on till value 12. 

我该如何选择在Python中使用硒webdriver的选项?

编辑1:我试过的代码如下:

select = Select(browser.find_element_by_id("asd")) 
select.select_by_visible_text('04') 

而且,

eMonth = browser.find_element_by_id("asd") 
eMonth.send_keys("10") 
+0

你试了一下,结果是什么?任何错误消息?请把它包括在你的问题中 – drkthng

回答

1

您可以使用Select类有明确的等待

wait = WebDriverWait(driver, 10) 
dropDown = wait.until(expected_conditions.visibility_of_element_located((By.ID, 'asd'))) 
select = Select(dropDown) 
select.select_by_value('01') 

顺便说一句, selectByVisibleText()是Java语法。

1

大部分选择课程将按照下拉菜单中的选择标签工作。很高兴有一些像使用的代码和异常面临的信息。我希望你试着等待,如果失败,睡觉。

我们还可以使用sendkeys选择下拉值。下面的命令是用java

driver.findElement(By.id("asd")).sendKeys("01"); 

谢谢你, 穆拉利

相关问题