当元素存在frame/iframe框架内部时,RF会报找不到该元素

使用selenium实现WEB端的UI自动化时,当进入的页面是由frame框架组成时,直接通过findElementby()找元素,会报找不到该元素。原因是我们没有进入到当前的frame域当中。
页面框架如下:
当元素存在frame/iframe框架内部时,RF会报找不到该元素
要先跳到iframe在跳到left frame,才能获取到left frame中的元素,具体代码如下:
System.setProperty(“webdriver.chrome.driver”, “C:\Chromedriver.exe”);
WebDriver driver = new ChromeDriver();
driver.get(“http://…”);
driver.get(“http://…”);
driver.findElement(By.id(“txtLoginName”)).sendKeys(“jack”);
driver.findElement(By.id(“txtPassword”)).sendKeys(“12345678”);
driver.findElement(By.xpath(“//*[@id=’div_accountlogin’]/div[1]/p[1]/a[1]”)).click();
driver.findElement(By.name(“ibnLogin”)).click();

driver.switchTo().frame(“mianbox”);
driver.switchTo().frame(“leftFrame”);
WebElement choose1 = driver.findElement(By.xpath(“//*[@id=’menu’]/dl[3]/dt”));
WebElement choose = choose1.findElement(By.xpath(“//*[@id=’menu’]/dl[3]/dd[4]”));
System.out.println(choose1.getText());
System.out.println(choose.getText());
choose1.click();
choose.click();