Drop down menu 当选项位于单独的标记中时,从选项中选择下拉列表

Drop down menu 当选项位于单独的标记中时,从选项中选择下拉列表,drop-down-menu,webdriver,selenium-webdriver,Drop Down Menu,Webdriver,Selenium Webdriver,我是webdriver的初学者,下面是我正在使用的代码。 我想单击一个下拉列表,然后再次单击为该下拉列表提供的值列表。 请帮帮我,我找了其他线程,但它们是不同的 <ul> <li class="size select required"> <div id="dk_container_partNumber-55414" class="dk_container dk_theme_size dk_focus" tabindex="" style="di

我是webdriver的初学者,下面是我正在使用的代码。 我想单击一个下拉列表,然后再次单击为该下拉列表提供的值列表。 请帮帮我,我找了其他线程,但它们是不同的

<ul>
  <li class="size select required">
    <div id="dk_container_partNumber-55414" class="dk_container dk_theme_size dk_focus"
    tabindex="" style="display: block;">
      <a class="dk_toggle" style="width: 162px;">
        <div class="dk_options">
          <ul class="dk_options_inner">
            <li class="dk_option_current">
              <li class="">
                <a data-dk-dropdown-value="605930243">S</a>
              </li>
              <li class="">
                <a data-dk-dropdown-value="605930251">M</a>
              </li>
              <li class="">
                <a data-dk-dropdown-value="605930260">L</a>
              </li>
              <li class="">
                <a data-dk-dropdown-value="605930278">XL</a>
              </li>
              <li class="">
                <a data-dk-dropdown-value="605930286">XXL</a>
              </li>
          </ul>
        </div>
    </div>
    <select id="partNumber-55414" class="size-select" name="partNumber" style="display: none;">
      <option data-property="CAT_SELECTSIZE" selected="selected" value="">Select Size</option>
      <option value="605930243">S</option>
      <option value="605930251">M</option>
      <option value="605930260">L</option>
      <option value="605930278">XL</option>
      <option value="605930286">XXL</option>
    </select>
我尝试了以下代码来选择S,但没有成功:

Select SizeDropdown = new Select(driver.findElement(By.xpath("//(more xpath  here)/ul/li[@class = 'size select required']/select")));
//driver.findElement(By.xpath("(//(more xpath here)/ul/li[@class = 'size select required']/select)/option[2]")).click();
//Below line gets and clicks the first option of Select Size 'S'
//SizeDropdown.getFirstSelectedOption().click();
//SizeDropdown.selectByVisibleText("S");
//SizeDropdown.selectByIndex(1);
//SizeDropdown.selectByValue("S");

在取消注释后,我分别尝试了每个命令,但无法将S视为下拉列表的标签,就好像它是我选择的一样。

您是否尝试过简化xpath

我使用类似的方法从下拉列表中选择一个选项,而无需先单击以展开它:

Select select = new Select(driver.findElement(By.xpath("//select[@id='partNumber-55414']"));
select.selectByVisibleText("S");

不确定你到底想做什么。可能制作一个JSFIDLE。你可能想适当地重新标记你的问题。@Wivlaro-我不知道如何制作JSFIDLE,我发布了我在网页上看到的代码以及我尝试过的webdriver代码,我想选择S的大小。现在清楚了吗?我无法完全理解你的问题。
Select select = new Select(driver.findElement(By.xpath("//select[@id='partNumber-55414']"));
select.selectByVisibleText("S");