2015-07-03 122 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