C# Selenium Chromedriver打开错误的URL地址

3
我正在使用Selenium和chromedriver结合HTML Agility Pack来爬取一组数据,但当我试图导航到此页面时,URL会从url1变成了url2。因此,有没有一种方法可以阻止这种情况发生?
 string url = "";
 Console.WriteLine("Web Crawler!");

 Console.WriteLine("Enter URL :");
 url = Console.ReadLine();
 Console.WriteLine("Entered URL :" + url);

 // selenium section
 ChromeOptions chromeOptions = new ChromeOptions();
 chromeOptions.AddUserProfilePreference("profile.default_content_setting_values.geolocation", 2);
 IWebDriver driver = new ChromeDriver(".", chromeOptions);
 driver.Navigate().GoToUrl(url);

导航变化了吗?你插入第一个URL,第二个URL就打开了吗? - Guy
1
是的,我猜它在导航中发生了变化。 - LordDraagon
1
无法复现。请检查是否在程序中硬编码URL而不是输入时发生了这种情况。 - Guy
1
哦,是的,当硬编码时它可以工作。你知道如何克服这个问题吗? - LordDraagon
1
你可以将URL放入CSV文件中并读取它。 - Guy
可以的,你可以试一下。写完整的答案,我会标记为采纳答案。顺便感谢你的帮助。 - LordDraagon
1个回答

2

可能CMD没有正确传递URL。相反,您可以从CSV文件中读取它。

using (TextFieldParser parser = new TextFieldParser("csvFile"))
{
    parser.TextFieldType = FieldType.Delimited;
    parser.SetDelimiters(",");
    string url = string.Empty;
    while (!parser.EndOfData) 
    {
        string[] fields = parser.ReadFields();
        url = fields[0];
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接