【问题标题】:How can I reference the following html elements using java and selenium?如何使用 java 和 selenium 引用以下 html 元素?
【发布时间】:2012-11-30 09:38:28
【问题描述】:

我想使用 java 访问以下具有唯一值指示符的元素。 在 name="txnSource" 下使用选项值标识的所有文本值都是可以从下拉选择器中进行的选择。

我想自动从下拉框中选择值,这就是为什么我需要知道如何访问这些值... 没有 "findElement(By.value("value"))" 那么如何按值访问元素??

我认为通过 xpath 访问会非常不稳定。此外,下拉选项中的任何更改都需要对 xpath 标识进行全面修改。

【问题讨论】:

    标签: java html xpath selenium automation


    【解决方案1】:

    在 Java 中,您可以执行以下任何操作:

    driver.findElement(By.cssSelector("option[value='500']")).click();
    

    driver.findElement(By.xpath("//option[@value='500']")).click();
    

    或使用Select and selectByValue()

    Select select = new Select(driver.findElement(By.name("txnSource")));
    select.selectByValue("500");
    

    【讨论】:

      【解决方案2】:

      在 Java 中我认为应该是这样的

      IWebElement dropDownListBox = driver.findElement(By.Name("txnSource"));
      SelectElement clickThis = new SelectElement(dropDownListBox);
      clickThis.SelectByValue("500");
      

      这就是它在 Ruby 中的实现方式

      Selenium::WebDriver::Support::Select.new(@driver.find_element(:name, "txnSource")).select_by(:value, "500")
      

      【讨论】:

        【解决方案3】:

        您可以像这样从选择列表中选择一个选项

        new Select(driver.findElement(By.name("txnSource"))).selectByVisibleText("Text- Stock Movement (DOGS)");
        

        http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/Select.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-08-24
          • 1970-01-01
          • 1970-01-01
          • 2019-09-06
          • 1970-01-01
          • 1970-01-01
          • 2023-02-02
          相关资源
          最近更新 更多