2014-10-27 73 views
0

我得到这样的问题:如何使用Python Selenium处理多个选择标记?

我需要使用Selenium配置页面上的所有选项。 我需要使用Python Selenium中的Select类。 这里是例子:

select = (Select(driver.find_elements_by_css_selector('select')) 
select.select_by_index(2) 

我没有得到任何东西! 我认为Select只适用于一个元素。什么时候,当我需要配置ALL选择这种方式? 谢谢!

+2

你能显示包含'select'标签相关的HTML代码?谢谢。 – alecxe 2014-10-27 12:50:13

+0

当你说'Select class'时,你的意思是一个CSS类(而不是'select' html元素)?如果它的CSS,那么你需要添加'.'前缀,即'find_elements_by_css_selector('。select')' – StuartLC 2014-10-27 12:55:48

+0

它可以是任何SELECT标签! 我需要遍历每一个! – SemoleX 2014-10-27 14:56:03

回答

1

您可以为此创建一个生成器;这样你就可以重复,而包裹的元素:

selects = driver.find_elements_by_css_selector('select') 
def wrapped_selects(): 
    for element in selects: 
     yield Select(element) 

或者你可以用他们都:

selects = map(Select, driver.find_elements_by_css_selector('select')) 
相关问题