2012-10-09 31 views

回答

3

在一条线,通过分裂网址。 jsfiddle

var url = "http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc"; 

var pageNumber = parseInt(url.split("page=")[1].split("&")[0], 10); 
+0

这是一个干净的解决方案;) – scusyxx

+0

当我把它放入Selenium-IDE,我得到Null 'num'的值(我之前将url存储到一个名为'url'的变量中。 storeEval | var url = storedVars ['url']; var pageNumber = parseInt(url.split(“page =”)[1 ] .split(“&”)[0],10); | – Klendathu

+0

好吧,让它能够工作在Selenium IDE中使用它 storeEval | javascript {storedVars ['V1'] .split(“page =”) [1] .split(“&")[0];} |# num让我获得页码。 – Klendathu

0

我有这个小功能来获取URL参数(我在很多年前发现互联网上):我使用这样的

function getUrlParameter(name, defaultValue) { 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) return defaultValue; 
    else return results[1]; 
} 

pageNumber = parseInt(getUrlParameter('page'), 10); 
0

一个简单的纯JavaScript实现,我能想到的会是像下面这样:

var url = http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc 
var matchedPos = url.search("page=\\d"); 
var matched = url.substr(matchedPos); 
var num = matched.split("=")[1]; //might need to parse