我已经通过一些解决方案来选择下拉元素,但它们都不适用于我。
这是下拉列表的html。
<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">Resolved</div>
<div class="goog-inline-block goog-flat-menu-button-dropdown"> </div>
</div>
我尝试通过xpath和链接文本找到下拉列表但没有成功。
编辑:这是我正在使用的代码
import contextlib
import selenium.webdriver as webdriver
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.keys import Keys
import re
with contextlib.closing(webdriver.Firefox()) as driver:
driver.get("https://websitename.com/#ticket/123456")
wait = ui.WebDriverWait(driver, 30)
wait.until(lambda driver: driver.find_element_by_xpath("//div[@class='goog-inline-block goog-flat-menu-button"))
driver.find_element_by_xpath("//div[@class='goog-inline-block goog-flat-menu-button").click()
driver.find_element_by_xpath("//div[@class='goog-inline-block goog-flat-menu-button").send_keys("R")
wait6 = ui.WebDriverWait(driver, 30)
代码应该将选定的下拉列表元素从已分配更改为已解决。
答案 0 :(得分:0)
你尝试了什么xpath?
我能看到的最简单的是:
driver.find_element_by_xpath("//div[contains(@class, 'goog-flat-menu-button-dropdown')]")
但是我对你的“选择”请求感到有些困惑,因为这不是select
因素,所以我很抱歉,我不确定我能帮到那里。
借助CSS Selector
尝试下面给出的方法driver.find_element_by_cssselector(".goog-flat-menu-button > .goog-flat-menu-button-dropdown").click();
我确信上面的CSS Selector可以正常工作。
答案 1 :(得分:0)
首先展开下拉菜单(xpath = // div [@ class ='goog-inline-block goog-flat-menu-button'),然后单击选项将其选中。
这两个操作都可以通过在Selenium IDE中单击来完成。
如果点击不起作用,请尝试 clickAt 定位器。