【问题标题】:I need to capture all the webelements in a page我需要捕获页面中的所有WebElement
【发布时间】:2018-02-19 10:06:33
【问题描述】:

当我们从一个实例到另一个实例执行相同的脚本时,我遇到了很多问题。 [所有的 webelement 属性都从一个实例更改为另一个实例]

有什么解决方案可以捕获页面中的所有webelements并传入脚本。

请给我一个解决方案来解决这个问题。

【问题讨论】:

  • 你想要文本的所有元素
  • 是的,并将其存储在所有变量中,如果 webelement 属性有任何变化,我必须通过脚本
  • 欢迎来到 Stack Overflow!请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: selenium selenium-webdriver


【解决方案1】:

Selenium 需要元素的定位器。如果属性正在更改但页面上的位置相同,则可以使用绝对 XPath。不建议开发人员更改任何元素位置,然后您需要再次维护定位器,但这是您目前唯一的解决方案

您可以像下面的示例一样使用绝对路径

/html/body/div[2]/div[1]/button 

还有你可以通过类似文字找到的元素

//a[contains(.,'Next')]

【讨论】:

  • 例如,如果您使用的是 AngularJS 等客户端技术。在这种情况下,id 和其他属性因实例而异。 QA env 中的示例登录文本的 id 可以说 login_1 但在 UAT 中你会发现它 login_21 .. 所以即使它们存在你也不能使用 id 因为 js 会在页面上动态更改 id。在这种情况下,您可以使用绝对 xpath,因为代码相同,只是属性不同
  • 好的 @Shubham 我会尝试在某个地方使用它,如果我有任何问题,我可以 ping 你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-09
  • 1970-01-01
  • 2015-03-30
  • 2021-08-13
相关资源
最近更新 更多