我试图在测试期间得到URL的页码。该URL看起来是这样的:
http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc
我想要得到的是页码右后页面='在URL中。
我试图在测试期间得到URL的页码。该URL看起来是这样的:
http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc
我想要得到的是页码右后页面='在URL中。
在一条线,通过分裂网址。 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);
这是一个干净的解决方案;) – scusyxx
当我把它放入Selenium-IDE,我得到Null 'num'的值(我之前将url存储到一个名为'url'的变量中。 storeEval | var url = storedVars ['url']; var pageNumber = parseInt(url.split(“page =”)[1 ] .split(“&”)[0],10); | – Klendathu
好吧,让它能够工作在Selenium IDE中使用它 storeEval | javascript {storedVars ['V1'] .split(“page =”) [1] .split(“&")[0];} |# num让我获得页码。 – Klendathu
我有这个小功能来获取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);
一个简单的纯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
那你试试? – Cfreak
通过回答http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values –