繁体   English   中英

C#Selenium与chrome的配置文件一起使用代理

[英]C# Selenium using proxy with chrome's profile

我想用我的个人资料和代理打开Chrome。 这段代码改变了我的IP:

string IPtoUse = richTextBox2.Lines[0];
        ChromeOptions options = new ChromeOptions();
        /*options.AddArguments("user-data-dir=C:\\Users\\Kamil\\AppData\\Local\\Google\\Chrome\\User Data");*/
        var proxy = new Proxy();
        proxy.Kind = ProxyKind.Manual;
        proxy.IsAutoDetect = false;
        proxy.HttpProxy =
        proxy.SslProxy = IPtoUse;
        options.Proxy = proxy;
        options.AddArgument("ignore-certificate-errors");
        var Driver = new ChromeDriver(options);


        Driver.Navigate().GoToUrl("https://www.iplocation.net/find-ip-address");

当我添加行:

options.AddArguments("user-data-dir=C:\\Users\\Kamil\\AppData\\Local\\Google\\Chrome\\User Data");

程序启动时忽略代理。 我究竟做错了什么? 我也想问你们我该如何改变这条线:

System.Threading.Thread.Sleep(2000);

使程序暂停但不要冻结它。 感谢帮助!

由于用户数据行,这可能对您造成错误。 应该如下:

options.AddArguments("--user-data-dir=C:\\Users\\Kamil\\AppData\\Local\\Google\\Chrome\\User Data");

暂停的问题是暂停主线程,您必须创建另一个线程并将所有代码放在该线程上。

public static void DoWork()
{

//put all your code in here, and you then you can pause it without  it freezing

}

public static void StartWorker()
{
    Thread worker = new Thread(DoWork);
    worker.IsBackground = true;
    worker.SetApartmentState(System.Threading.ApartmentState.STA);
    worker.Start()
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM