我要从选项的值而不是属性的值中选择一个选项。 HTML:
<select id="size">
<option>S</select>
<option>M</select>
<option>L</select>
</select>
我已经在javascript上有了它,当我访问页面时,它会单击下拉列表,但是我如何选择一个选项?
let driver = await new Builder().forBrowser("chrome").build();
await driver.get("index.html");
await driver.findElement(By.partialLinkText("Blue Shirt")).click();
let size = By.id("size");
let waitForSize = driver.wait(until.elementLocated(size));
await waitForSize.click();
答案 0 :(得分:0)
您可以创建一个动态选择器以单击该选项。
例如:
var value = "S";
driver.FindElement(By.XPath("//select[@id='size']/option[contains(text(), " + value + ")]")).click();
或者您可以进行for遍历所有//select[@id='size']/option
元素,提取其文本,如果匹配您的选项,请单击该元素并断开for
for (var element in driver.FindElements(By.XPath("//select[@id='size']/option]"))) {
if (element.getText() === value) {
element.click();
break;
}
}