簡體   English   中英

我正在嘗試獲取文本,但是我獲得了?(值)並且無法單擊。 這是硒中的一個下拉按鈕(默認情況下,值為)

[英]I am trying to get text but i got ?(value) and unable to click. And this is a dropdown button (by default on value is selected ) in selenium

<div class="select-wrapper initialized">
  <span class="caret">▼</span>
  <input type="text" class="select-dropdown" readonly="true" 
        data-activates="select-options-56a6924e-42d9-1f78-1b82-fe2c1cbdfbdd"
        value="R3PORTS, INC">
  <select id="comp_drpdwn" class="initialized"
         data-select-id="ff6db37d-572c-bae4-7ba8-49856f516da7">
     <option value="0">Select Company</option>
     <option value="Vault Brewing Company~TI41305172">Vault Brewing Company</option>
     <option value="Vegan Picnic~TI28950835">Vegan Picnic</option>
     <option value="Yes Hospitality Group~TI09460957">Yes Hospitality Group</option>
  </select>
</div>

我的代碼是

List<WebElement> out = driver.findElements(
                                By.xpath("//div[@class='select-wrapper initialized']"));
for(WebElement tuo : out) {
    String test = tuo.getText();
    System.out.println(test);
}

測試結果是通過的,但是我只有?(問號)。 請幫我解決我的問題

您提供的HTML代碼缺少選項的一部分,請查找問題中的更新。

String option2Select = "Vegan Picnic";

WebElement selectWrapper = driver.findElement(
            By.cssSelector("div.select-wrapper.initialized"));

// click on the ▼ to expand options
selectWrapper.findElement(By.cssSelector("span.caret")).click();

// click on wanted option
selectWrapper.findElement(By.xpath(".//option[text='" + option2Select + "']")).click()

如果以上代碼無法正常工作,請嘗試以下代碼:

String option2Select = "Vegan Picnic";
driver.findElement(By.cssSelector("select#comp_drpdwn"));
      .findElement(By.xpath(".//option[text='" + option2Select + "']")).click()

您可以按照評論中的說明使用“選擇”下拉菜單

WebElement element = driver.findElement(By.Xpath(".//*[@id='comp_drpdwn']""));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM