【问题标题】:Dropdown select option selenium webdriverjs下拉选择选项 selenium webdriverjs
【发布时间】:2019-11-11 07:17:34
【问题描述】:

我想通过选项的值而不是属性从 select 中选择一个选项。 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();

【问题讨论】:

    标签: javascript html selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    您可以创建一个动态选择器来单击该选项。

    例如:

    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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多