2014-02-26 128 views
0

我有下面的HTML代碼來創建一個複選框,但XPath和CSS選擇器無法識別它。還有另一種處理方法嗎?需要Selenium元素選擇幫助

<span class="checklist"> 
    <span class=""> 
     <input id="GenerateChargeFiles" type="checkbox" value="true" name="GenerateChargeFiles" data-val-required="The GenerateChargeFiles field is required." data-val="true"> 
     <input type="hidden" value="false" name="GenerateChargeFiles"> 
     <a class="checkbox-select">Check</a> 
     <a class="checkbox-deselect">Uncheck</a> 
    </span> 
</span> 
+1

那麼什麼選擇您使用的? 「不承認」意味着什麼?它沒有找到它? Selenium嘗試錯誤?什麼錯誤?如果發現它,它有什麼作用? 'input'是隱藏的,所以如果你正在試圖使用*那個*,它會拋出一個錯誤。 – Arran

+0

這裏有缺少的信息是我們回答這個問題所需要的。當你點擊輸入元素時,我敢打賭DOM被重新加載,並且存在比你目前顯示的更多的HTML。 – djangofan

回答

0

您試圖使用哪種XPath? XPath id('GenerateChargeFiles')應該可以正常工作。下面的示例使用Python:

from selenium import webdriver 

browser = webdriver.Firefox() 
browser.get("C:\\Users\\Tetrinity\\Documents\\test.html") 
element = browser.find_element_by_xpath("id('GenerateChargeFiles')") 
element.click() 

...其中test.html包含:

<html><body> 
<span class="checklist"> 
    <span class=""> 
     <input id="GenerateChargeFiles" type="checkbox" value="true" name="GenerateChargeFiles" data-val-required="The GenerateChargeFiles field is required." data-val="true"> 
     <input type="hidden" value="false" name="GenerateChargeFiles"> 
     <a class="checkbox-select">Check</a> 
     <a class="checkbox-deselect">Uncheck</a> 
    </span> 
</span> 
</body></html> 
0
WebElement checkBox = getDriver().findElement(By.id("GenerateChargeFiles"))