问题:我想将下拉菜单从“已分配”值更改为“已解决”值。
通常,我只选择元素和send_keys我想要选择的值,但在这种情况下不起作用。我找到了一种解决方法,即选择另一个可以选择的元素 send_keys(Keys.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"> </div>
</div>
</div>
下拉菜单目前设置为“已分配”,我希望我的脚本将其设置为“Resolve”。
这是我正在使用的。
driver.find_element_by_name("core.summary").click()
driver.find_element_by_name("core.summary").send_keys(Keys.TAB,"R")
答案 0 :(得分:0)
您是否尝试过使用Select类?它应该是这样的:
from selenium.webdriver.support.ui import Select
Select(driver.find_element_by_name('core.summary')).select_by_index(1)
不幸的是,这取决于物品的顺序和数量。最糟糕的情况是,您应该能够遍历Select.get_options列表以查找所需内容,然后按索引或可见文本进行选择。