我正在使用框架,并希望在框架上输入文字。
我有的定位器是由XPath创建的。 我们可以使用JavaScript执行器,在这种情况下输入文本吗?
答案 0 :(得分:0)
切换到您的框架,找到您的元素,然后您可以使用sendkeys(如果它是文本字段)或使用JavaScriptExecutor执行,如下所示;
C#:
IWebElement name = driver.FindElement(By.Id("elementId"));
((IJavaScriptExecutor)driver).ExecuteAsyncScript("arguments[0].value='Changed Text'", name);
的java:
WebElement name=driver.findElement(By.id("elementId"));
((JavascriptExecutor)driver).executeAsyncScript("arguments[0].value='Changed Text'",name);
你可以用;
切换到框架driver.SwitchTo().Frame("frameName");
答案 1 :(得分:0)
有两种方法可以做到:
使用参数
driver.get("http://google.co.in/");
JavascriptExecutor js=(JavascriptExecutor)driver;
WebElement searchInput=driver.findElement(By.name("q"));
js.executeScript("arguments[0].value='car';", searchInput);
使用getElementById()
driver.get("http://www.netmeds.com/");
js.executeScript("document.getElementById('header1_keyword').value='CAR';");
答案 2 :(得分:0)
您可以将javascript执行程序用于任何操作,它不会连接到定位器或元素。