【发布时间】:2020-07-27 06:22:16
【问题描述】:
我目前无法更改下拉列表的值。我目前正在https://www.reebok.com/us/cart 上将商品添加到我的购物车中。我正在尝试更改数量。
我正在尝试将我的 java 代码重写为 javascript。话虽如此。
Select select = new Select(driver.findElement(By.xpath("//* [@id=\"app\"]/div/div/div/div/div[2]/div/main/div[1]/div/div/div/div/div/div[2]/div[2]/div[2]/div/div/select")));
select.selectByVisibleText(5);
目前使用 Selenium 库在 java 中为我工作。但是在 Javascript 中,我无法模拟相同的步骤。我什么都试过了。
编辑:我试过了
var select= document.evaluate('//*[@id="app"]/div/div/div/div/div[2]/div/main/div[1]/div/div/div/div/div/div[2]/div[2]/div[2]/div/div/select', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
select.selectedIndex=7;
和
document.getElementsByClassName('gl-dropdown-native__select-element')[0].value=7;
【问题讨论】:
-
你具体用的是什么?请分享您无法按预期工作的代码
-
设置
value将不起作用 - 您必须设置selectedIndex -
还是不行。
-
你也必须触发事件。我似乎无法弄清楚它正在听什么事件。所以在你做
.value = 6;之后你需要再做.dispatchEvent(new Event('change'));但是我不知道它在听什么事件。我什至没有喜悦地尝试“点击”......但是当我显示隐藏的选择下拉菜单时,我可以看到值发生变化。它只是不会触发更改:/ -
是的,我猜Java selectByVisibleText() 方法会自动执行此操作?
标签: javascript dropdown