Я захожу на сайт -> Я читаю ссылки из текстового файла (в котором есть рабочие и неработающие ссылки) -> Я использую HttpWebRequest и HttpWebResponse для обнаружения рабочих и не работающих ссылок --- Вот основныепроблема ---> Я пытаюсь разделить рабочие и не рабочие ссылки и войти в два разных файла.Но все входит в один файл.Я использую свойство StatusCode, чтобы различать два.Но не удачно.Пожалуйста, найдите код ниже.Я очень плохо знаком с селеном C #.
public void Login()
{
WebDriver.Navigate().GoToUrl($"{ApplicationUrl}Login.aspx");
WebDriver.Manage().Window.Maximize();
WebDriver.FindElement(By.Id("UserName")).SendKeys(_user.Login);
WebDriver.FindElement(By.Id("tbPassword")).SendKeys(_user.Passwort);
IJavaScriptExecutor js = WebDriver as IJavaScriptExecutor;
js.ExecuteScript("arguments[0].click();",
WebDriver.FindElement(By.Id("LoginButton")));
Thread.Sleep(3000);
string fileName = @"TestFile.txt";
// Reading the text file using StreamReader
using (StreamReader sr = new StreamReader(fileName))
{
String line;
while ((line = sr.ReadLine()) != null)
{
WebDriver.Navigate().GoToUrl(line);
IsLinkWorking(line);
}
WorkingLinks.Close();
NotWorkingLinks.Close();
}
}
public void IsLinkWorking(string line)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(line);
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
WorkingLinks.WriteLine(WebDriver.Url);
// Releases the resources of the response.
response.Close();
}
else
{
NotWorkingLinks.WriteLine(WebDriver.Url);
response.Close();
}
}
catch
{ //TODO: Check for the right exception here
}
}