亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何查找動態下拉列表元素的網頁元素位置?

如何查找動態下拉列表元素的網頁元素位置?

慕虎7371278 2023-08-04 19:13:49
我無法找到下拉列表的動態 Web 元素位置public void selectClassofService(String value) throws InterruptedException{    driver.findElement(By.xpath("/html/body/div[1]/div/div/div/div[3]/div[2]/div[2]/div/div/div/div[2]/div[2]/div[2]/form/div[5]/div/div[2]/div/div/div[1]/input")).click();   List<WebElement> list = driver.findElements(By.xpath("/html/body/div[1]/div/div/div/div[3]/div[2]/div[2]/div/div/div/div[2]/div[2]/div[2]/form/div[5]/div/div[2]/div/div/div[1]/input"));    System.out.println("Size of the list size =" + list.size());    for (int i = 0; i < list.size(); i++) {        System.out.println("names of the divisions " + list.get(i).getText());        if (list.get(i).getText().contains(value)) {            list.get(i).click();            break;        }    }這是我的示例 html 代碼<ui class="vs_dropdown-menu" role="listbox"><l1 class=vs_dropdown-option role="option">sample pack </l1><l2 class=vs_dropdown-option vs vs_dropdown-option--highlight role="option">sample pack </l2><l3 class=vs_dropdown-option role="option">sample pack2 </l3>
查看完整描述

1 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

首先,不要寫太長的 xpaths。有更好的方法來訪問元素,而不是做那些令人毛骨悚然的事情。


String dropdownXpath = "//input[@class='vs_dropdown-menu' and @role='listbox']";


new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath(dropdownXpath))).click();


List<WebElement> myList = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath(dropdownXpath + "//li[@class='vs_dropdown-option' and @role='option']")));


for (WebElement element:myList)

{

    System.out.println("names of the divisions " + element.getText());

    if(element.getText().contains("Mumbai"));

        element.click();

}

如果無法像上面那樣訪問下拉菜單,只需獲取父 div 的 Id,如下所示:


String dropdownXpath = "//div[@id='some-id']input[@class='vs_dropdown-menu' and @role='listbox']";

不要通過爬行 html 標簽來查找元素來浪費時間。


查看完整回答
反對 回復 2023-08-04
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號