Selenium - 如何捕获页面上的所有网页元素和关联的定位器?

发布于 2024-11-24 19:08:40 字数 378 浏览 3 评论 0原文

我可以使用哪些 Java/Selenium 命令来捕获/获取/输出单个网页的所有元素和关联元素定位器? Selenium IDE 允许您一次检查一个元素。如果您有数千个元素需要自动化,这就是一个问题。是否有一个工具或 Java/selenium 命令可以用来一次性获取网页上的所有对象/元素,然后可以自定义输出以满足我的需求? 如果您有 SilkTest 的经验,我想要类似于在 SilkTest 中生成窗口声明的东西。 SilkTest 的记录窗口声明工具捕获页面上所有对象/元素的标签/属性/定位器信息,并允许您将代码粘贴到库或包含文件中。因此,只需单击一两次,我就可以在 SilkTest 中捕获并定义数十个对象。是否有工具或命令可以为 Selenium 执行类似的操作?我正在使用 Java,所以我想要 Java 中的任何示例。谢谢。

What Java/Selenium commands can I use to capture/get/output for all elements and associated element locators for a single webpage? The Selenium IDE allows you to inspect one element at a time. That is a problem if you have thousands of elements to automate. Is there a tool or Java/selenium command that I can use to get all of the objects/elements on my web page at once and then maybe customize the output to suite my needs?
If you have any experience with SilkTest, I'd like something analogous to generating Window Declarations in SilkTest. SilkTest's Record Window Declaration tool captures tag/property/locator information for all of the objects/elements on a page and allows you to paste the code to your library or include file. So with one or two clicks I can capture and define dozens of objects in SilkTest. Is there a tool or command that does something similar for Selenium? I'm using Java so I'd like any examples in Java. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

酒绊 2024-12-01 19:08:40

使用 findElementsByXPath 并指定“所有元素”对我有用。例如

findElementsByXPath("//*")

http://www.w3schools.com/xml/xpath_syntax.asp

Using findElementsByXPath and specifying 'All elements' worked for me. E.g.

findElementsByXPath("//*")

http://www.w3schools.com/xml/xpath_syntax.asp

ゃ人海孤独症 2024-12-01 19:08:40

您可能找不到 selenium 附带的任何“功能”来执行此操作。您将必须使用一些工具,例如

Firebug,Web 开发人员

(都是firefox扩展)来查找您需要的定位器的xpath/css路径。另外,为什么您需要获取“所有”元素?我觉得在页面中使用“所有”元素的机会可能非常小。最简单的方法(我认为您已经在这样做)是使用 IDE 创建测试用例的原型,然后使用 Firebug 或类似工具来优化 xpath。

You might not find any "feature" that comes along with selenium to do this. You will have to use some tools like

Firebug, Webdeveloper

(both are firefox extensions) to find the xpath/css path of locators which you need. Also, why would you need to get "all" the elements? Chances of using "all" elements in a page might be very less I feel. Easiest way (which I think you are already doing) is to use IDE to create a prototype of your test case and then use Firebug or similar tools to optimize the xpath.

美人迟暮 2024-12-01 19:08:40

有一个 chrome 扩展 - Selenium Page Object Generator - 它生成一个 .java 类,其中包含页面对象模型的所有页面定位器。非常酷。一探究竟!!

https://chrome.google.com/webstore/detail/硒页面对象基因/epgmnmcjdhapiojbohkkemlfkegmbebb

There is a chrome extension - Selenium Page Object Generator- which generates a .java class having all the locators of the page for page object model . It's pretty Cool. Check it out!!

https://chrome.google.com/webstore/detail/selenium-page-object-gene/epgmnmcjdhapiojbohkkemlfkegmbebb

尘世孤行 2024-12-01 19:08:40
List<WebElement> el = driver.findElements(By.xpath("//*"));
            int count=0;
            for ( WebElement e : el ) {
             System.out.println( e.getTagName()+"    "+e.getText());

             count++;

            }
          System.out.println(count );
List<WebElement> el = driver.findElements(By.xpath("//*"));
            int count=0;
            for ( WebElement e : el ) {
             System.out.println( e.getTagName()+"    "+e.getText());

             count++;

            }
          System.out.println(count );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文