Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Nightwatch中使用elementIdAttribute获取相对URL_Javascript_Html_Jquery Selectors_Attributes_Nightwatch.js - Fatal编程技术网

Javascript 在Nightwatch中使用elementIdAttribute获取相对URL

Javascript 在Nightwatch中使用elementIdAttribute获取相对URL,javascript,html,jquery-selectors,attributes,nightwatch.js,Javascript,Html,Jquery Selectors,Attributes,Nightwatch.js,我想从链接中获取与源代码中完全相同的“href”属性,以便在另一个页面上找到相同的链接。我原以为elementIdAttribute会获取该属性并允许我在CSS定位器中使用它,但出于某种原因,elementIdAttribute会完成相对URL并在某些URL的末尾附加斜杠 下面是我用来从页面链接中获取“href”属性的代码: browser.elements("css selector", "div.field-item.even a", function(link_array) { lin

我想从链接中获取与源代码中完全相同的“href”属性,以便在另一个页面上找到相同的链接。我原以为elementIdAttribute会获取该属性并允许我在CSS定位器中使用它,但出于某种原因,elementIdAttribute会完成相对URL并在某些URL的末尾附加斜杠

下面是我用来从页面链接中获取“href”属性的代码:

browser.elements("css selector", "div.field-item.even a", function(link_array) {
  link_tot = link_array.value.length;

  //Fetch the url from each 'a' tag in the content
  for (var x = 0; x < link_tot; x++){
    browser.elementIdAttribute(link_array.value[x].ELEMENT, "href", function(links) {
      console.log(links.value);
      urls.push(links.value);
    });
  }
})
browser.elements(“css选择器”、“div.field-item.偶数a”、函数(链接数组){
link_tot=link_array.value.length;
//从内容中的每个“a”标记获取url
对于(var x=0;x
如果“href”属性是
href='node/16376'
,则我的程序最终输出的链接是
https://www.website.com/node/16376
。我希望它只输出“node/16376”,而不附加完整的url


有没有办法完全按照原样抓取“href”属性(即没有附加额外斜杠的相对URL),以便在CSS选择器中使用它在另一个页面上查找相同的链接?

为什么不使用JavaScript字符串
replace()
方法修改结果:

urls.push(links.value.replace('https://www.website.com/',''));

我需要获取“href”属性的任何内容,以便在CSS选择器中使用它。如果href等于绝对URL,我不想删除任何内容。如果它等于一个相对URL,我不想添加任何内容。我抓过绳子后就不能再摆弄它了,因为我不知道会是什么。我只想抓住它的原样,不动它,这样我就可以用它来定位另一个页面上使用完全相同href属性的链接;elementIdAttribute未按原样获取“href”属性。它把URL变成了一个绝对的别名,而我却找不到解决它的办法。