使用Selenium+PhantomJS实现网页内容加载(包括网页后期Ajax出来的结果)
2024-10-13 22:17:48
一、需求
需要Nuget下面的库:
二、代码
class Program
{
static void Main(string[] args)
{
TestPhantomJsDriver(); } private static void TestPhantomJsDriver()
{
var service = PhantomJSDriverService.CreateDefaultService();
service.DiskCache = true;
service.IgnoreSslErrors = true;
service.HideCommandPromptWindow = true;
service.LoadImages = false;
service.LocalToRemoteUrlAccess = true;
PhantomJSDriver driver = new PhantomJSDriver(service, new PhantomJSOptions(), TimeSpan.FromSeconds());
var nav = driver.Navigate();
try
{
nav.GoToUrl("http://v.youku.com/v_show/id_XMjc5MTkwNjQ5Ng==.html");
nav.Refresh();
}
catch (Exception e) { Console.WriteLine("refresh exception:" + e.Message); } //WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
//try
//{
// var isok = wait.Until(dr => dr.FindElement(By.XPath("span[@id='videoTotalPV']/em")) != null);
// var src2 = driver.PageSource;
// Console.WriteLine(src == src2);
// Console.WriteLine(isok);
//}
//catch { }
var st = driver.TakeScreenshot();
st.SaveAsFile("d:\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg", ScreenshotImageFormat.Jpeg); } private static void TestChromeJsDriver()
{
var service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
ChromeDriver driver = new ChromeDriver(service, new ChromeOptions() { }, TimeSpan.FromSeconds()); var nav = driver.Navigate();
try
{
nav.GoToUrl("http://v.youku.com/v_show/id_XMjc5MTkwNjQ5Ng==.html");
nav.Refresh();
}
catch (Exception e) { Console.WriteLine("refresh exception:" + e.Message); }
var st = driver.TakeScreenshot();
st.SaveAsFile("d:\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg", ScreenshotImageFormat.Jpeg); }
最新文章
- 爱上MVC~ajax调用分部视图session超时页面跳转问题
- using关键字背后的故事!
- 菜鸟聊:PHP
- HDOJ --- 2577
- Arduino从基础到实践第三章练习题
- PHP内核学习(一)SAPI
- SOD开源框架MSF(消息服务框架)进阶篇
- 【AIX】AIX内存机制
- 打包错误--Error:A problem was found with the configuration of task ':app:packageRelease'.
- RabbitMQ入门-发布订阅模式
- 同时使用 Ant Design of React 中 Mention 和 Form
- js實現
- linux centos5.8装yum安装mysql
- java类和对象
- 科学计算三维可视化---Mlab基础(常用控制函数)
- HDU 4004 The Frog's Games(二分+小思维+用到了lower_bound)
- leetcode13_C++罗马数字转整数
- Jira简单使用操作指引20150605
- openresty+lua做接口调用权限限制
- Join EC2 into AD with SSM and remote powershell in AWS
热门文章
- 从零开始,运行一个android例子程序
- Python:日期和时间类型学习
- 记linux下rm误删bin文件的解决方式
- clojure中符号symbols 和变量vars的正确理解
- Spring Boot新模块devtools
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
- 利用Visual Studio 2013 开发微软云Windows Azure配置指南(针对中国大陆)
- junit5了解一下
- 一步一步学SpringDataJpa——JpaRepository查询功能
- 样条之拉格朗日Lagrange(一元全区间)插值函数