我可以通过Python中的splinter模块以某种方式从页面上的下拉列表中选择特定元素

Fro*_*art 4 html python testing splinter

我可以通过Python中的splinter模块以某种方式从页面上的下拉列表中选择特定元素吗?

我有以下HTML代码:

<select id="xyz">
   <optgroup label="Group1">
      <option value="1">pick1</option>
      <option value="2">pick2</option>
   </optgroup>
   <optgroup label="Group2">
       <option value="3">pick3</option>
       <option value="4">pick4</option>
   </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

假设我需要选择"pick3"选项.我该怎么做?

ale*_*cxe 6

首先找到select元素使用find_by_id()和使用select()方法来选择一个选项:

element = browser.find_by_id('xyz').first
element.select('3')
Run Code Online (Sandbox Code Playgroud)

替代解决方案是使用find_by_xpath()和click():

element = browser.find_by_xpath('//select[@id="xyz"]//option[@value="3"]').first
element.click()
Run Code Online (Sandbox Code Playgroud)

  • @FrozenHeart 我怀疑这是因为 `select` 没有 `name`。 (2认同)