2016-08-11 65 views
1

我對此有點麻煩。我正在嘗試點擊每個頁面加載時ID不同的複選框。Selenium點擊動態id'd複選框

這是代碼,我有一個不工作:

Dim SegmentData As IWebElement = driver.FindElementByXPath("//*[starts-with(@id, 'gwt-uid-5')]") 
SegmentData.click() 

這是元素中的XPath:

// * [@ ID =「GWT的uid-5324 「]

最後3位數字(本例中爲324)是什麼改變。

沒有我嘗試似乎爲我工作,因爲每次點擊嘗試總是失敗。

下面是在這種情況下引發的異常:

拋出異常:在WebDriver.dll

'OpenQA.Selenium.ElementNotVisibleException' 這裏是複選框的HTML:

<div class="spee-f"> 
    <span class="gwt-CheckBox"> 
     <input type="checkbox" value="on" id="gwt-uid-5324" tabindex="0">  
     <label for="gwt-uid-5324">Segment statistics by month</label>  
    </span> 
</div> 
+0

顯示異常日誌和'HTML'的複選框 – Andersson

+0

做的@Grasshopper陳述,以及顯示容器(至少2嗎?) – sircapsalot

+0

喜見我的編輯,請@sircapsalot –

回答

1

請嘗試以下XPath並讓我知道它仍然發生錯誤:

//span[label[text()="Segment statistics by month"]]/input[@type="checkbox"] 
+0

工作就像一個魅力! –