2016-08-11 60 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

工作就像一个魅力! –