空手道 - 使用 Javascript 从 元素获取 URL

2024-05-16

使用空手道,我需要从标签 (href) 中提取 url。我直接在浏览器中使用 Javascript 尝试过:

document.querySelector('a[rel="noopener"]').href

它在浏览器中工作正常,我收到完整的 url 地址(“https://XXXXXXXX”)。然后我想使用以下方法将其放置到空手道中:

   * def emailLink =
   """
   function(){
      var link = document.querySelector('a[rel="noopener"]').href;
      return link;
   }
   """
  * print emailLink()

但这不起作用。变量=“”。我需要接收 href 值。

您有任何想法如何解决这个问题吗?

谢谢你!


您正在编写的函数将不起作用,请阅读以下内容以了解原因:https://github.com/intuit/karate/tree/master/karate-core#karate-vs-the-browser https://github.com/intuit/karate/tree/master/karate-core#karate-vs-the-browser

因此,进行此更改(并注意空手道是如何做的document.querySelector()为你):

* def linkElement = locate('a[rel="noopener"]')
* def linkValue = linkElement.attribute('href')

请注意,对于第二行,这也应该有效:

* def linkValue = linkElement.script('_.href')

甚至是这个:

* def linkValue = linkElement.property('href')

开始习惯Element空手道中的抽象。它可能非常有用:https://github.com/intuit/karate/tree/master/karate-core#chaining https://github.com/intuit/karate/tree/master/karate-core#chaining

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

空手道 - 使用 Javascript 从 元素获取 URL 的相关文章

随机推荐