Vik*_*jha 14 c# python selenium phantomjs
我正在尝试将PhantomJS与Selenium Webdriver一起使用并获得成功,但对于特定的网站,我看到它没有导航到URL.我已经尝试过Python和C#.
Python代码:
dcap = dict(webdriver.DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36")
service_args = ['--load-images=false', '--proxy-type=None']
driver = webdriver.PhantomJS(executable_path="C:\\phantomjs.exe", service_args=service_args, desired_capabilities=dcap)
driver.get("https://satoshimines.com")
print driver.current_url
Run Code Online (Sandbox Code Playgroud)
此代码段的输出是:about:blank
然而它适用于任何其他网站.
与C#相同的代码:
IWebDriver driver = new PhantomJSDriver();
driver.Navigate().GoToUrl("https://satoshimines.com");
Console.WriteLine(driver.Url);
Run Code Online (Sandbox Code Playgroud)
C#程序的输出也是一样的.
我被困在这里,需要帮助.
Vik*_*jha 21
以下是c#的完整代码解决方案 -
PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
service.IgnoreSslErrors = true;
service.LoadImages = false;
service.ProxyType = "none";
driver = new PhantomJSDriver(service);
Run Code Online (Sandbox Code Playgroud)
对我来说,解决方案如下:
var service = PhantomJSDriverService.CreateDefaultService();
service.SslProtocol = "tlsv1"; //"any" also works
driver = new PhantomJSDriver(service);
Run Code Online (Sandbox Code Playgroud)
我不知道为什么默认的sslv3不起作用.如果您确定SSL证书有效,则建议不要忽略错误以防止恶意证书.
更新:为了更好地解释为什么现在应该将SslProtocol设置为tlsv1而不是默认的sslv3,请查看下面由@Artjom B提供的优秀交叉链接.
我似乎找到了解决方案.问题是SSL握手问题.通过将
'--ignore-ssl-errors = true'作为service_args传递给phantomjs解决了这个问题.
谢谢
| 归档时间: |
|
| 查看次数: |
11896 次 |
| 最近记录: |