Я пытаюсь найти неработающую ссылку на странице с помощью кода Selenium (Java), но я столкнулся с этой проблемой. Я не могу запустить этот код из-за нижеуказанного исключения. В этом коде определяется общее количество ссылок на странице, а затем URL-адрес ссылок. Пожалуйста, просмотрите проблему и дайте мне решение для этого.
Exception in thread "main" java.net.MalformedURLException: no protocol:
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at fire.Weil.main(Weil.java:57)
Мой код: -
package fire;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Weil {
public static void main(String[] args) throws MalformedURLException, IOException{
System.setProperty("webdriver.gecko.driver", "C:\\Users\\sumitk\\Downloads\\Selenium Drivers\\Gecodriver\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//delete all cookies
driver.manage().deleteAllCookies();
//dynamic wait
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//open site
driver.get("https://www.weil.com/");
//1. get the list of all the links and images
List<WebElement> linklist = driver.findElements(By.tagName("a"));
linklist.addAll(driver.findElements(By.tagName("img")));
System.out.println("Size of full links and images--->"+ linklist.size());
List<WebElement> activeLinks =new ArrayList<WebElement>();
// 2. iterate linklist : exclude all the links/images does not have any href attribute
for(int i=0; i<linklist.size(); i++)
{
System.out.println(linklist.get(i).getAttribute("href"));
if(linklist.get(i).getAttribute("href") !=null)
{
activeLinks.add(linklist.get(i));
}
}
//get the size of active links list.
System.out.println("Size of active links and images--->"+ activeLinks.size());
//3. check the href url, with httpconnection api.
for(int j=0; j<activeLinks.size(); j++)
{
HttpURLConnection connection=(HttpURLConnection) new URL(activeLinks.get(j).getAttribute("href")).openConnection();
connection.connect();
String response=connection.getResponseMessage();
connection.disconnect();
System.out.println(activeLinks.get(j).getAttribute("href") +" --->"+response);
}
}
}