2015-07-03 165 views
0

我無法讓Selenium找到任何視覺元素。硒不能找到視覺元素

breed = driver.findElement(By.id("j_id0:SearchForm:j_id1:j_id2:j_id20:NativeBreed")); 

breed = driver.findElement(By.xpath("/html/body/div[1]/div[2]/table/tbody/tr/td[2]/form/div[1]/div/div/div/div[2]/div/div/table/tbody/tr[3]/td[2]/input")); 

breed = driver.findElement(By.cssSelector("input[id$='NativeBreed']")); 

我已經嘗試了上述所有方法,它仍然不會找到元素。

頂點代碼如下:

<apex:pageBlockSectionItem ><!---------------------------Native Breed---------------------------> 
     <apex:outputLabel value="Native Breed"/> 
     <apex:inputCheckbox id="NativeBreed" value="{!searchBreed}" /> 
</apex:pageBlockSectionItem> 

生成的HTML如下:

<input id="j_id0:SearchForm:j_id1:j_id2:j_id20:NativeBreed" type="checkbox" name="j_id0:SearchForm:j_id1:j_id2:j_id20:NativeBreed"> 

有沒有人有這可能是爲什麼的情況或可能的解決方案的任何想法?

編輯:品種是一個WebElement。

回答

0

您正在使用的id可能是動態的,因此無法找到元素。嘗試使用:

breed = driver.findElement(By.xpath("//input[contains(@id,"NativeBreed")]")); 

希望有所幫助。

+0

謝謝,但是會產生相同的錯誤。 – user3556152

+0

這個元素是iFrame的一部分嗎? – Manu

+0

不,它的形式都是。 – user3556152