Selenium无法找到visualforce元素

时间:2015-07-03 09:27:44

标签: selenium selenium-webdriver visualforce

我无法让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。

1 个答案:

答案 0 :(得分:0)

您正在使用的id可能是动态的,因此无法找到该元素。尝试使用:

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

希望有所帮助。