以下C#的意思是打开一个硒驱动程序,并通过身份验证连接到代理。 chrome警报在driver.Navigate()。GoToUrl(...)上弹出,无法越过。这意味着我无法在try {} catch {}中处理警报。
如何验证代理?
到目前为止,我找到的最接近的是this post
using System;
using System.Net;
using System.Net.Sockets;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
namespace ConnectProxy
{
internal class Program
{
private static void Main()
{
var proxy = new
{
Ip = "XXX",
Username = "YYY",
Password = "ZZZ",
Port = "80"
};
string PROXY = proxy.Ip + ":" + proxy.Port;
Proxy pro = new Proxy();
pro.HttpProxy = PROXY;
pro.FtpProxy = PROXY;
pro.SslProxy = PROXY;
ChromeOptions options = new ChromeOptions();
options.Proxy = pro;
IWebDriver driver = new ChromeDriver(options);
driver.Navigate().GoToUrl("https://" + proxy.Username + ":" + proxy.Password + "@" + "whatismyipaddress.com/");
try
{
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(15));
wait.Until(c => c.FindElement(By.Id("content-section")));
IAlert alert = driver.SwitchTo().Alert();
alert.SetAuthenticationCredentials(proxy.Username, proxy.Password);
alert.Accept();
}
catch { }
}
}
}
答案 0 :(得分:0)
根据selenium documents,尝试通过硒进行操作不是可用资源。相反,根据post,您需要在chrome中添加扩展名,其中包含代理主机和身份验证详细信息。