java - 从 Selenium 中的 URL 获取部分数据
问题描述
在 selenium 中,有没有办法从 URL 中获取部分动态变化的数据?例如,我在代码中运行了 driver.getCurrentUrl() 并检索了以下 URL。我只想抓住它的数字部分并将其连接起来,所以我最终得到 819499-1。但是,下次我运行它时,值会有所不同。有没有办法在不捕获整个 URL 的情况下捕获这些信息?
解决方案
我认为这是一个更通用的问题,不仅与 Selenium 相关......
基本上,您可以像这样使用正则表达式匹配:
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 查询字符串?
推荐阅读
- mysql - VB.net 'System.Collections.Generic.KeyNotFoundException' 异常
- python - 如何计算顺序排序元素之间的平均值
- azure - Azure Datafactory 提取 JSON 格式
- scala - 是否可以让 Gatling JMS 只监听消息?
- game-physics - 如何在动态对象上使用三角形网格?
- javascript - 当您删除由 nodejs 中的 fs 模块作为 writeStream 打开的文件时会发生什么?
- sql-server - 当列不退出时强制存储过程失败?
- java - Spring Integration - 查看尚未添加的消息的 ReleaseStrategy
- c# - 我的代码只能逐行执行
- azure - Azure 应用程序配置或 Azure KeyVault - 根据更改的值触发新构建