gpt4 book ai didi

selenium - @FindBy (id = 'blabla' ) 与//*[@id='blabla] 相同吗

转载 作者:行者123 更新时间:2023-12-02 14:03:26 25 4
gpt4 key购买 nike

我决定尝试一下Katalon并得到这个问题,因为Katalon Studio,当用户选择“通过属性'id'定位”时,它显示//*[@id='blabla'] 将用于定位元素。但对我来说,它看起来像是 xPath 的变体。所以我想知道,当在 JAVA - Selenium 中我写 @findBy (id='blabla') - 在底层 selenium 将其转换为 //*[@id = 'blabla'] ???

找不到答案

Google、论坛、katalon 文档

更新:我想知道这两种方法是否完全相同。 1. 找到元素需要同样的时间吗? 2. 这两种方法都会从 DOM 顶部开始寻找元素吗?

最佳答案

从功能上来说,这些都做同样的事情:

  • @FindBy(id = "foo") 注解
  • driver.findElement(By.id("foo"))
  • driver.findElement(By.xpath("//*[@id = 'foo']"))
  • driver.findElement(By.css("#foo"))

它们都通过 ID 查找元素。

我不确定在对 Selenium 服务器的 API 调用中这意味着什么,但是 Selenium is open source 。你自己看看吧。

@FindBy(...) 注释在 FindBy.java 中定义。 ,继承自 AbstractFindByBuilder 。跟踪一下代码,你就会明白了。

关于selenium - @FindBy (id = 'blabla' ) 与//*[@id='blabla] 相同吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58595344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com