我需要为 Java 中的 Selenium 测试提取一个随机生成的 URL 部分。
当浏览器打开一个页面时,例如:
/edit_person.html?id=eb58cea3a3772ff656987792eb0a8c0f
然后我可以显示网址:
String url = driver.getCurrentUrl();
但现在我只需要在等号后获取随机生成的 ID。
将整个 URL 作为变量 url 中的字符串后,如何提取参数 id 的值?
URL.getQuery()
会将查询部分作为字符串提供,它是一个简单的正则表达式匹配,用于隔离您想要的部分。
id=(.*)
只要它是查询字符串中唯一的东西,就会得到你想要的东西。
这是设法解决问题的方法:
String url = driver.getCurrentUrl();
URL aURL = new URL(url);
url = aURL.getQuery();
String[] id = url.split("=");
System.out.println(id[1]);
感谢贾罗德·罗伯逊!