无法在包含在Selenium框架中的框架中的文本框中输入文本

时间:2014-03-13 10:31:38

标签: java selenium selenium-webdriver

我无法在另一帧中的框架的文本框中输入文本。 这是我的环境:IE 10,最新的Selenium驱动程序2.40.0,测试是用Java开发的,我使用的文件属性包含我元素的所有Xpath。 这是我的代码,我尝试了两种不同的方式来编辑我的文本框,但两者都没有用。

WebElement firstFrame = getDriverProvider().get().findElement(getLocator(frame));
String firstFrameLink = firstFrame.getAttribute("src");
getDriverProvider().get().switchTo().frame(firstFrame);
//getDriverProvider().get().switchTo().activeElement();
WebElement secondFrame = getDriverProvider().get().findElement(getLocator(field));
String secondFrameLink = secondFrame.getAttribute("src");
getDriverProvider().get().switchTo().frame(secondFrame);
WebElement element = getDriverProvider().get().findElement(getLocator("Input.field"));
//getDriverProvider().get().switchTo().activeElement();
JavascriptExecutor jsx = (JavascriptExecutor)getDriverProvider().get();
jsx.executeScript("arguments[0].click();", element);
jsx.executeScript("arguments[0].value='testdata';", element);
String s = (String) jsx.executeScript("return arguments[0].getAttribute('name')", element);
//System.out.println(s);
element.click();
element.sendKeys("toto");

我确信我的框架切换工作正常,因为我设法得到第二帧元素的属性(我的代码中的字符串)我已经尝试了我在互联网上找到的所有内容

1. switchTo().activeElement() 

=>不解决我的问题

2. Use javascript to enter text jsx.executeScript("arguments[0].value='testdata';",  element) 

=>即使我没有错误也不起作用,文本没有写在文本框中

3. Selenium method element.click() 

=>不起作用给了我org.openqa.selenium.ElementNotVisibleException:无法点击元素

4. Selenium method element.sendKeys("toto") 

=>不起作用给了我org.openqa.selenium.ElementNotVisibleException:元素没有显示

0 个答案:

没有答案