当前位置: 首页 > 编程笔记 >

如何处理硒中的帧?

闻人梓
2023-03-14
本文向大家介绍如何处理硒中的帧?,包括了如何处理硒中的帧?的使用技巧和注意事项,需要的朋友参考一下

我们可以借助以下方法来处理Selenium中的帧-

  • switchTo()。frame(frameNumber)

    此方法使用帧ID作为参数。框架ID的索引从0开始。如果未找到框架,则会引发NoSuchFrameException。

  • switchTo()。frame(frameName)

    此方法使用开发人员定义的框架名称作为参数。框架名称被认为是一个字符串,并用引号引起来。如果找不到框架,则会引发NoSuchFrameException。

  • switchTo()。frame(WebElement)

    此方法使用webelement作为参数。如果找不到框架,则抛出NoSuchFrameException。StaleElementReferenceException如果框架不再活动。

示例

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class FrameSet {
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "url with frames";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
      //在索引的帮助下抓取第一帧
      driver.switchTo().frame(0);
      //在框架名称的帮助下抓取框架
      driver.switchTo().frame(“<<name expression>>“);
      //借助框架webelement来抓取框架
      WebElement name = driver.findElement(By.name(“frame-right”));
      driver.switchTo().frame(driver.findElement(By.name(“<<name expression”)));
      driver.quit();
   }
}
 类似资料:
  • 问题内容: 我必须处理打印对话框(在浏览器中单击ctrl-p时出现的对话框)。我尝试过: 但这没用。我也抓不到它的窗口句柄,因为它不是窗口… 是否可以处理这些对象?如何处理? 问题答案: 不幸的是,WebDriver无法处理这些(或任何其他浏览器或OS对话框)。此外,它们在浏览器/系统/语言设置中的外观往往有所不同,因此可能没有明确的答案。您需要检测并处理所有可能的情况,以使其在任何地方都有效。您

  • 我正在使用Selenium启动浏览器。如何处理要求浏览器接受或不接受证书的网页(URL)? 在Firefox中,我可能会有这样一个网站,要求我接受它的证书,如下所示: 在Internet Explorer浏览器上,我可能会得到如下内容: 在谷歌Chrome: 我重复我的问题:当我使用Selenium(Python编程语言)启动浏览器(internetexplorer、Firefox和googlec

  • 我目前正在使用硒自动化应用程序,当单击按钮时会出现一个新的弹出窗口。我必须切换到该窗口并执行某些操作,例如搜索记录。 注意:父窗口和子窗口具有相同的标题。

  • 我试图提取信息与硒和python的帮助下从这个容器"项目信息"//www.rera.mp.gov.in/view_project_details.php?id=aDRYYk82L2hhV0R0WHFDSnJRK3FYZz09但当这样做我得到这个错误 找不到元素:{“方法”:“xpath”,“选择器”:“/html/body/div/article/div2/div/div2/div2/div2”}

  • 问题内容: 在开发高度基于XML的Java应用程序时,我最近在Ubuntu Linux上遇到了一个有趣的问题。 我的应用程序使用Java Plugin Framework ,似乎无法将dom4j创建的XML文档转换为Batik的 SVG规范实现。 在控制台上,我了解到发生了错误: 我认为问题是由来自JVM的原始类加载器与插件框架部署的类加载器之间的冲突引起的。 据我所知,不可能为框架指定一个类加载

  • 问题内容: 在开发一个高度基于XML的Java应用程序时,我最近在Ubuntu Linux上遇到了一个有趣的问题。 我的应用程序使用Java Plugin Framework ,似乎无法将dom4j创建的XML文档转换为Batik的 SVG规范实现。 在控制台上,我了解到发生了错误: 我认为问题是由JVM的原始类加载器与插件框架部署的类加载器之间的冲突引起的。 据我所知,不可能为框架指定一个类加载