使用 Selenium 和 java 测试 React JS 下拉列表
Testing React JS dropdown with Selenium and java
>我有一个下拉菜单,它使用 React JS 动态填充值。如何从此下拉列表中选择一个值。你能用一个例子指出我正确的方向吗?
这是页面的 HTML 代码。包含"年份"文本的 Div 是下拉列表。一旦我点击年份,它就给了我几个选项,如 2015、2014、2013 等。但我不确定如何使用硒访问这些值。
<div class="fitment-box__first-select" data-reactid=".2.0.0.0.0.2.1"><span data-reactid=".2.0.0.0.0.2.1.0">My vehicle was made in</span><div class="Select fitment-box__select-year" data-reactid=".2.0.0.0.0.2.1.1"><input type="hidden" name="year" value="" data-reactid=".2.0.0.0.0.2.1.1.0"><div class="Select-control" data-reactid=".2.0.0.0.0.2.1.1.1"><div class="Select-placeholder" data-reactid=".2.0.0.0.0.2.1.1.1.0:$placeholder">Year</div><div class="Select-input " tabindex="0" data-reactid=".2.0.0.0.0.2.1.1.1.1"> </div><span class="Select-arrow-zone" data-reactid=".2.0.0.0.0.2.1.1.1.4"><span class="Select-arrow" data-reactid=".2.0.0.0.0.2.1.1.1.4.0"></span></span></div></div></div>
我也有同样的问题,并根据Saurabh的回答找到了解决方案。
WebElement button = driver.findElement(element);
Actions action = new Actions(driver);
action.moveToElement(button).click().build().perform();
使用操作类。下面是一个示例:
Actions act = new Actions(this.getDriver());
act.moveToElement(element).click().build().perform();
act.click(elementValue).build().perform();
标准的硒下拉方法一直对我有用。还有其他选项,例如,如果您不在乎选择哪一年,也可以按索引选择。
Select dropdown = new Select(element));
dropdown.selectByVisibleText(year);
相关文章:
- react.js中的密钥绑定
- 如何在react js中将值从一个组件发送到另一个组件
- 如何在react js中从一个页面导航到另一个页面
- 为什么我的点击事件没有使用 react js 触发
- 如何在react js中移动第二个组件
- 如何在react js中设置按钮点击的值
- React js更改状态不会更新组件
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- 渲染”;a“;React.js中的可选href
- 当浏览器位置更改时重新渲染React.js
- React.js如何从js文件中获取数组
- 如何让React JS点击处理程序在执行时更新DOM
- 如何删除父表行时;删除“;在React JS中单击按钮
- 如何使用React JS中的循环,根据条件渲染或不渲染表数据
- 复选框保持React JS中各组件的状态
- React.js:将事件从父级附加到子级
- 在React JS中将道具传递给父级
- React.js如何使用虚拟DOM加速渲染
- 使用react js在跨域上执行事件javascript
- 在react js中渲染多个容器