无法在iframe中找到selenium的输入元素

时间:2017-03-23 07:09:37

标签: jquery html selenium iframe selenium-webdriver

我正在开展一个selenium项目,我正在尝试找到日期文本字段并清除文本字段。该字段位于iframe标记内,我们在其中定义了iframe标记,如下所示

<iframe class='xyzframeclassname' src="http://thesrclink.com" ></iframe>

并且src包含我需要输入数据的下面的输入元素creationDate。下面是src文件的片段

<td>
<span class="xyz">
<input id="creationDate" type="text" value="01/01/2000">
<input type="hidden" value="01/01/1900" name="startDate">
<input type="hidden" value="22/03/2017" name="endDate">
<span class="hint">
<a href="#">
<img onclick=some calendar related info>
</a> 
</span>
</span>  
</td>

我使用了以下代码

WebElement element = driver.findElement(By.className("xyzframeclassname"));
driver.switchTo().frame(element);
driver.findElement(By.cssSelector("input[id="creationDate"]")).sendKeys("123");

在我错过的地方需要帮助。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

WebElement element = driver.findElement(By.className("xyzframeclassname"));
driver.switchTo().frame(frameElement);
driver.switchTo().activeElement()
driver.findElement(By.xpath(".//input[@id='creationDate']")

试试这个......

答案 1 :(得分:1)

尝试一次,看来你在切换到框架时给出了错误的值

WebElement element= driver.findElement(By.xpath(@class='xyzframeclassname'));
driver.switchTo().frame(element);
driver.findElement(By.cssSelector("input[id='creationDate']")).sendKeys("01/01/2000");
相关问题