2

问题:我想将下拉菜单从“已分配”值更改为“已解决”值。

通常,我只选择要选择的元素和 send_keys 值,但这在这种情况下不起作用。我找到了一种解决方法,即选择另一个可以选择的元素并 send_keys(Keys.TAB, "Resolved") 选择下拉菜单并更改其值。问题在于它偶尔会说我选择的元素不可见并崩溃。

我希望能够在不使用 tab 方法的情况下直接选择元素并更改其值。

这是该对象的 html。

  <div class="core_status" name="core.status" id="core.status0">
    <div class="goog-inline-block goog-flat-menu-button" role="button" style="-moz-user-select: none;" tabindex="3" aria-haspopup="true">
      <div class="goog-inline-block goog-flat-menu-button-caption">Assigned</div>
      <div class="goog-inline-block goog-flat-menu-button-dropdown">&nbsp;</div>
    </div>
  </div>

下拉菜单当前设置为“已分配”,我希望我的脚本将其设置为“解决”。

这是我正在使用的。

driver.find_element_by_name("core.summary").click()
driver.find_element_by_name("core.summary").send_keys(Keys.TAB,"R")
4

1 回答 1

0

您是否尝试过使用 Select 类?它应该是这样的:

from selenium.webdriver.support.ui import Select
Select(driver.find_element_by_name('core.summary')).select_by_index(1)

不幸的是,这取决于物品的顺序和数量。在最坏的情况下,您应该能够遍历 Select.get_options 列表以找到您需要的内容,然后按索引或可见文本进行选择。

于 2013-07-25T23:05:58.350 回答