Javascript 如何在java中使用Selenium获取部分href链接?
我需要将chrome中的当前url与特定的href链接进行比较。 特定的href链接包含两个URL! 实现应该是使用Selenium的javaJavascript 如何在java中使用Selenium获取部分href链接?,javascript,java,html,selenium,webdriver,Javascript,Java,Html,Selenium,Webdriver,我需要将chrome中的当前url与特定的href链接进行比较。 特定的href链接包含两个URL! 实现应该是使用Selenium的java 谢谢 您可以使用get属性从网页获取href。比如说 String string=driver.findElement(By.xpath("//path of your element")).getAttribute("href"); 如上所述,此字符串包含两个url,因此可以拆分这些url String string = "004-034556";
谢谢 您可以使用get属性从网页获取href。比如说
String string=driver.findElement(By.xpath("//path of your element")).getAttribute("href");
如上所述,此字符串包含两个url,因此可以拆分这些url
String string = "004-034556";
String[] parts = string.split("?"); // as per condition, split here
String url1 = parts[0]; //URL one
String url2 = parts[1]; // URL two
现在您有了url1和url2,可以做您想做的事情了
谢谢,,
Murali它不包含2个URL,它包含1个URL 电影后面的部分?是URL参数。您的有点奇怪,因为它们通常是键/值对,但它仍然有效 获取URL参数的正确方法是解析URL,如下所示:
String hrefAttribute = driver.findElement(By.cssSelector("YOUR_LOCATOR")).getAttribute("href");
URL hrefAsURL = new URL(hrefAttribute);
String urlParameters = hrefAsURL.getQuery();
如果您有一系列您通常会看到的键/值对,则可以对URL参数执行其他操作,例如,将它们放在地图中以供其他地方使用:
Map<String, String> parameterMap = new HashMap<String, String>();
String[] keyValuePairs = urlParameters.split("&");
for (String joinedPair : keyValuePairs) {
String[] separatedPair = joinedPair.split("=");
parameterMap.put(URLDecoder.decode(separatedPair[0], "UTF-8"), URLDecoder.decode(separatedPair[1], "UTF-8"));
}
祝你好运让我们知道结果如何。@Keren请正确回答。所以每个人都得到了这个解决方案。
Map<String, String> parameterMap = new HashMap<String, String>();
String[] keyValuePairs = urlParameters.split("&");
for (String joinedPair : keyValuePairs) {
String[] separatedPair = joinedPair.split("=");
parameterMap.put(URLDecoder.decode(separatedPair[0], "UTF-8"), URLDecoder.decode(separatedPair[1], "UTF-8"));
}