尝试在表元素(单元格)中发送数据。已验证 ID、X 路径、选择器,并且没有错误。甚至,将超时放置到页面加载。甚至已验证 iFrame(已切换到当前 iFrame)。每次都不会弹出此类元素错误。不确定页面加载后是否需要再次切换到 iFrame?我尝试了所有可能的方法,但没有通过。我真的很感激任何建议或新的思考方向。提前感谢您。运行我的脚本,以便更好地了解其失败的位置。public class SapDijon { WebDriver driver; JavascriptExecutor jse; public static void main(String[] args) throws Exception { SapDijon sapObj = new SapDijon(); sapObj.invokeBrowser(); sapObj.initializeSapDijon(); sapObj.ForecastME59(); }//End of Main public void invokeBrowser() { System.setProperty("webdriver.chrome.driver", "U:\\Research Paper\\Selenium\\Drivers\\Chrome\\chromedriver_win32\\chromedriver.exe"); driver = new ChromeDriver(); driver.manage().deleteAllCookies(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); } public void initializeSapDijon() throws Exception { Thread.sleep(1200); driver.get("http://dijon.cob.csuchico.edu:8041/sap/bc/gui/sap/its/webgui/?"); driver.findElement(By.id("sap-user")).sendKeys("H5"); Thread.sleep(1200); driver.findElement(By.id("sap-password")).sendKeys("Onsjhjsa1087"); Thread.sleep(1200); driver.findElement(By.id("sap-client")).clear(); Thread.sleep(1200); driver.findElement(By.id("sap-client")).sendKeys("485"); Thread.sleep(1200); driver.findElement(By.id("LOGON_BUTTON")).click(); }
2 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
由于打开了新窗口,并且脚本无法找到该元素,因此问题仍然存在。解决方案是切换到新打开的窗口以查找元素定位器。
数组列表选项卡 = 新的数组列表 (driver.getWindowHandles());driver.switchTo().window(tabs.get(1));
桃花长相依
TA贡献1860条经验 获得超8个赞
在 “ ”之后,从框架切换回默认内容,然后再次切换到可用的 iframe。action.doubleClick(md61).perform()
要移回父框架,您可以使用,或者如果要返回到主(或大多数父)框架,可以使用switchTo().parentFrame()switchTo().defaultContent();
添加回答
举报
0/150
提交
取消
