为了账号安全,请及时绑定邮箱和手机立即绑定

从 Selenium 中的 URL 获取部分数据

从 Selenium 中的 URL 获取部分数据

慕婉清6462132 2021-09-15 10:47:59
在 selenium 中,有没有办法从 URL 中获取部分动态变化的数据?例如,我在我的代码中运行了 driver.getCurrentUrl() 并检索了以下 URL。我只想获取它的数字部分并将其连接起来,所以我最终得到了 819499-1。但是,下次我运行它时,值会有所不同。有没有办法在不捕获整个 URL 的情况下捕获这些信息?
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

我认为这是一个更通用的问题,不仅与硒有关......


基本上,您可以像这样使用正则表达式匹配:


String url = "http://custmaint/clnt_estimate_overview.jsp?estimateNbr=819499&versionNbr=1&estimateMgmt=true&clntAutoAssign=true";

final Pattern p = Pattern.compile("^.*\\?estimateNbr=(\\d+)&versionNbr=(\\d+).*$");

Matcher m = p.matcher(url);

if (m.find()) {

    System.out.print(m.group(1) + "-" + m.group(2));

}

另一种方法(更灵活)是使用像 httpcomponents 这样的专用库;请参阅如何将地图转换为 url 查询字符串?


查看完整回答
反对 回复 2021-09-15
?
森栏

TA贡献1810条经验 获得超5个赞

String url = driver.getCurrentUrl();

String estimateNbr = url.substring(url.indexOf("eNbr=")+5, url.indexOf("&v"));

String versionNbr = url.substring(url.indexOf("nNbr=")+5, url.indexOf("&e"));

System.out.println(estimateNbr + "-" + versionNbr);


查看完整回答
反对 回复 2021-09-15
  • 2 回答
  • 0 关注
  • 186 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信