我目前遇到了更改下拉列表值的问题。我正在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
。 - IVO GELOV.value = 6;
之后,您需要执行.dispatchEvent(new Event('change'));
但是我无法弄清楚它正在侦听哪个事件。我甚至尝试了'click',但没有成功...但是当我显示隐藏的选择下拉菜单时,我可以看到值正在更改。只是它没有触发变化 :/ - Dexteriansselect.selectedIndex=7;
,然后使用了你的代码,但仍然不起作用。 - JustinJ72