2016-09-24 145 views
1

我在使用webdriver选择它后取消选择所选选项时出现问题。我不断收到错误加薪NotImplementedError(“你只能取消的多选选项”) NotImplementedError:您只能取消选项的多选取消选择单选项下拉列表python webdriver

选择的下拉菜单项如何才能未被选择?我的代码如下。

HTML代码:

<option selected="selected" value=""></option> 
<option value="Item 1">Item 1</option> 
<option value="Item 2 (1)">Item 2</option> 
<option value="Item 3">Item 3</option> 

的Python的webdriver:

options = select.find_elements_by_tag_name("option") 
for x in range(1,len(options)): 
    option = options[x] 
    options_list.append(option.get_attribute("value")) 
    item_selection = Select(select) 
    item_selection.select_by_visible_text("Item 1") 
time.sleep() 
item_selection.deselect_by_visible_text("Item 1") 

回答

0

你可以使用.select_by_index(0)或可能.select_by_value("")。第一个应该工作......我不确定第二个。

0

的问题是,你的下拉列表中选择类没有多选,这意味着你只能在同一时间从下拉列表中选择一个项目,所有取消的功能有一个检查,如果

if not self.is_multiple: 
      raise NotImplementedError("You may only deselect options of a multi-select") 

因为它给你错误,因为取消选择应该只适用于多选下拉菜单。

解决方法是使用另一个元素的select_by_index()或select_by_value()或select_by_visible_text()将所选元素的选择更改为另一个元素。

如果您正在练习取消选择然后在支持多选的页面上尝试它

+0

好的谢谢。你的建议似乎有效。 – user674864