justcode.ikeepstudying.com
Python: webdriver操作select下拉选项, selenium设定select选项, selenium select dropdown, Handling Dropdowns - Just Code
下拉菜单是Internet上Web表单的固有部分。如果必须从可用选项列表中进行选择,则实现此目标的最佳方法是下拉菜单。一个非常普通的例子是您的出生年份,即某年某月某日。您将看到一个可滚动的下拉列表,该下拉列表允许您从其他各种元素的列表中选择单个元素。 下拉列表本身并不是单个元素。它实际上是一个程序集或一类元素。例如,您可以说国家是类,下拉列表中可用的值是各种对象。 要使用下拉菜单,首先需要选择或找到主要元素组,然后进一步进入内部并选择要为其选择的子元素。 选择一个下拉菜单 由于下拉菜单有很多选项,因此我们必须单独选择某些内容,这一点很重要。Selenium Python API提供了Select 该类,它使您可以选择所需的元素。 您可以在此处详细了解。 注意: Select 该类仅适用于具有选择标签的标签。 使用下拉索引 使用下拉菜单的值 使用下拉文本 使用下拉索引: 如果下拉列表具有“索引”属性,那么我们可以使用该索引来选择特定选项。使用这种方法时需要小心,因为索引从0开始并不少见,因此,如果您认为索引的工作方式与国家/地区相似,那么您可能会误会。 我们可以使用该select_by_index( )方法通过 index属性选择一个选项。 例如 s1= Select(driver.find_element_by_id('id_of_element')) s1.select_by_index(5) 使用下拉列表的值: 如果html标记定义了一个选项标签,则可以使用与参数匹配的值。假设下拉的html是这样的 Bar1 我们可以使用该select_by_value( )方法通过 index属性选择一个选项。 例如 s2= Select(driver.find_element_by_id('id_of_element')) s2.select_by_value('foo') 使用下拉文本: 可能是最简单的方法。您必须匹配下拉菜单中显示的文本。 例如 s3= Select(driver.find_element_by_id('id_of_element')) s3.select_by_visible_text('element_text') 下面,我们学习如何删除我们的选择。 从下拉列表中取消选择选项 现在,如果要取消选择刚刚选择的选项怎么办?您也可以使用以下方法实现此目的: deselect_all( ) 清除所有选定的选项。这仅适用于多个选择的情况。如果有多个选择框,则可以使用此框取消选择任何选定的选项。 如果在单选的情况下尝试使用此选项,则将引发NotImplementedError 异常。 …