java - 如何使用 div 标签/类从下拉列表中选择一个选项?.selenium
问题描述
我已经尝试了所有可能的事情。此外,尝试搜索尝试不同的组合和变化。我可以点击打开下拉列表的元素。但我无法在其中选择一个选项。我也尝试了操作、sendkeys、keys.down/enter 和多个东西。但是,它没有帮助。这是我唯一坚持的事情。
//选择办公室
1.driver.findElement(By.id("DG5QEPn")).click();
动作动作=新动作(驱动程序);actions.moveToElement(driver.findElement(By.xpath("//*[@id="DG5QEPn"]/div/div/div1/div1"))).click();
driver.findElement(By.id("DG5QEPn")).click();
driver.findElement(By.id("DG5QEPn")).sendKeys("RTP HQ"); driver.findElement(By.id("DG5QEPn")).sendKeys(Keys.Down); driver.findElement(By.id("DG5QEPn")).sendKeys(Keys.Enter);
Html- 在下图中。
解决方案
您应该枚举所有选项,然后单击所需的选项。看看这个。
编辑
我发现的最简单的方法是按照以下方式做一些事情:
el = driver.find_element_by_id('id_of_select')
for option in el.find_elements_by_tag_name('option'):
if option.text == 'The Options I Am Looking For':
option.click() # select() in earlier versions of webdriver
break
推荐阅读
- spring - 在spring-mvc应用程序中使用未映射的@JoinTable和休眠查询@ManyToMany
- javascript - Babel 在构建时给予 Unexpted 令牌
- r - 在R中使用带有管道的for循环
- mysql - 错误 1449 (HY000):在 MySQL 8 中发出“显示数据库”、“显示表”等命令时遇到问题
- oracle - 如何在 H2 中模拟 Oracle 的 ROWNUM
- node.js - Lambda 容器会自动销毁 Postgres 连接吗?
- javascript - 在 Typescript 中,Object.prototype 函数可以返回子类型实例吗?
- html - 如何在两列之间有固定的间隔?
- swift - Firebase Observer 中存储内容的生命周期
- node.js - 将 req.user 传递给 graphQL