2012-09-26 35 views
0

我需要为Java中的Selenium Test抽取一个随机生成的URL的一部分。从URL中提取一个随机生成的ID

当浏览器打开一个网页,如:

/edit_person.html?id=eb58cea3a3772ff656987792eb0a8c0f 

那么我能显示的URL以:

String url = driver.getCurrentUrl(); 

但现在我需要后,只得到随机生成的ID等号。

如果我将整个URL作为变量url中的字符串,我该如何提取参数id的值?

+1

使用URI类来获取查询部分,然后自己解析查询部分(沿'&切割,然后沿着'='切割) – nhahtdh

+1

http://stackoverflow.com/questions/1667278/parsing- query-strings-in-java –

+0

你试过了什么?有很多方法可以做到这一点,'URL'类有很多方法可以使这个简单的 –

回答

1

这是如何设法解决的问题:

String url = driver.getCurrentUrl(); 
     URL aURL = new URL(url); 
     url = aURL.getQuery(); 
     String[] id = url.split("="); 
     System.out.println(id[1]); 

感谢贾罗德·罗伯逊!

1

URL.getQuery()将查询部分作为字符串它是一个简单的正则表达式匹配来隔离你想要的部分。

id=(.*)只要它是查询字符串中唯一的东西就会得到你想要的。

+1

非常感谢! – nacya