簡體   English   中英

無法在 java 中使用 selenium 單擊復選框

[英]Cannot click on checkbox using selenium in java

我正在嘗試過濾掉亞馬遜中的書籍名稱,因此在我成功導航並搜索了我想要的書籍后,我嘗試過濾掉側面過濾器面板上的所有英文書籍

當我嘗試在我的代碼中單擊“英語”語言復選框時,它確實單擊了某些內容,但未按預期檢查該復選框,這是 html: 在此處輸入圖像描述

這是我的代碼:

        List<WebElement> list = driverWrapper.findElements(By.cssSelector("ul[aria-labelledby='p_n_feature_nine_browse-bin-title'] li"));
        for(WebElement elem: list){
            if(elem.getText().equals(LangugaeFilterOptions.ENGLISH.getValue())){
                elem.click();
            }
        }

編輯:這是完整的元素 html:

<li id="p_n_feature_nine_browse-bin/3291437011" aria-label="English" class="a-spacing-micro" xpath="1"><span class="a-list-item">                      <a data-routing="" class="a-link-normal s-navigation-item" tabindex="-1" href="/s?k=lord+of+the+rings+the+two+towers&amp;i=stripbooks-intl-ship&amp;rh=p_n_feature_nine_browse-bin%3A3291437011&amp;dc&amp;crid=23TXZEAWG63AR&amp;qid=1595601320&amp;rnid=3291435011&amp;sprefix=lord+of+the+rings+%2Cstripbooks-intl-ship%2C314&amp;ref=sr_nr_p_n_feature_nine_browse-bin_1">            <div class="a-checkbox a-checkbox-fancy s-navigation-checkbox aok-float-left"><label><input type="checkbox" name="" value=""><i class="a-icon a-icon-checkbox"></i><span class="a-label a-checkbox-label"></span></label></div>      <span class="a-size-base a-color-base" dir="auto">English</span>              </a>         </span></li>

您需要發送對輸入標簽的點擊。 點擊正在其他地方。 修改 CSS/Xpath 以到達下面的輸入。 希望這會有所幫助!

您可以嘗試使用findElements而不是cssSelector來查找xpath這是如何做到這一點的鏈接-> https://stackoverflow.com/a/54746459/11278696

問題是這個復選框實際上是一個鏈接復選框,所以需要做的是點擊元素

driver.findElement(By.linkText("English").click();  

這樣就可以了!

暫無
暫無

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

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