获取点击后打开新页面时的url

get the url of a new page when it is opened after click

我正在编写一个测试,单击按钮并打开一个新选项卡并将您定向到一个新网站。我想调用该网站值,以便我可以在网页名称中的 rfp 代码之后解析它。然后我打开一个解码器网站并用它来解码并确保解码后的网页名称正常工作。

我使用的代码:

this.switchesToGetQuotePage = function() {
  browser.getAllWindowHandles().then(function(handles) {
    newWindowHandle = handles[1]; // this is your new window
    browser.switchTo().window(newWindowHandle).then(function() {
      getCurrentUrl.then(function(text) {
        console.log(text);
      });
    });
  });
};

当我调用 getCurrentUrl 函数时,它 returns 下面作为值:

data: ,

如果当前页面基于 angular,则使用 getLocationAbsUrl() 中内置的量角器获取当前页面的 url。方法如下 -

browser.getLocationAbsUrl().then(function(url){
    console.log(url);
});

但是,如果您在非 angular 页面上工作,那么请等待页面随着 url 更改(通过重定向)加载,直到最终页面交付给客户端,然后使用getCurrentUrl() 在页面上。方法如下 -

   var ele = $("ELEMENT_ON_NEW_PAGE"); //replace it with your element on the page
   browser.switchTo().window(newWindowHandle).then(function() {
      browser.wait(protractor.ExpectedConditions.visibilityOf(ele), 10000).then(function(){
        getCurrentUrl.then(function(text) {
          console.log(text);
        });
      });
    });

希望对您有所帮助。