如何使用Selenium Python单击下拉菜单中没有“select”标签的选项?

时间:2018-02-07 16:41:23

标签: python html selenium drop-down-menu

我关注的下拉列表的html代码 enter image description here]

这是我正在谈论的“帮助”下拉菜单的链接。 https://play.google.com/store/apps/details?id=com.delta.mobile.android&hl=en

在访问selenium页面后,我想自动选择第一个下拉列表并选择“最新”选项。问题是下拉菜单没有select标签。任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

尝试使用Selenium IDE获取下拉菜单的名称,ID或xpath。

答案 1 :(得分:0)

1。硒

您可以使用XPath按文本找到该按钮:

button = driver.find_element_by_xpath("//button[./text() = 'Helpfulness']")
button.click()

2。使用Capybara(使用Selenium)

更一般地(可靠地),您可以使用capybara-py点击所有类型的按钮(不只是<button>元素):

page.click_button("Helpfulness")

如果按钮尚未可交互,它也会正确转义搜索字符串并重试。

答案 2 :(得分:0)

当我们想要从没有选择标记的下拉列表中选择值时,我们已经构建了选择它的逻辑。第一步是单击下拉列表,然后找到值的通用定位器下拉列表。定位器应完全依赖于下拉列表的值,这样只需添加所需的值,我们就可以获得唯一的定位器,如下所示

public void selectValueFromDropDown(WebDriver driver,String value) throws InterruptedException{
        //click on the dropdown
        driver.findElement(By.xpath("//button[@class='dropdown-menu'][1]")).click();
        Thread.sleep(1000);
        // select value from dropdown
        driver.findElement(By.xpath("//div[@class='dropdown-menu-children']//li//button[text()='"+value+"']")).click();
    }

希望这会对你有所帮助。