c# selenium 元素截图
通过NuGet安装组件
安装图片所选中的Selenium.WebDriver、Selenium.Support、Selenium.RC即可
打开网页并寻找元素进行元素截图
ps:编写代码之前需确认chromedriver.exe存在不存在,还需确认版本是否和谷歌浏览器符合==(这是个坑,勿踩)==
这里只用By.XPath(""); 一个/代表根元素,这里不建议使用,如需使用最好配合XPathHelper插件更好的确定元素。
这里以百度为例,直接上代码,代码中有注释 方便查看
需求:获取百度一下的按钮并 截图保存到本地
string url="http://www.baidu.com";
IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver();//打开谷歌浏览器
driver.Navigate().GoToUrl(url);//跳转到百度页面
var baiduElement=driver.FindElement(By.XPath("//span[@class='btn_wr s_btn_wr bg']"));//查找百度一下的元素
Screenshot screenshot = ((ITakesScreenshot)image).GetScreenshot();//对百度一下这个按钮进行截图
//保存图片
var dirpath = @"D:\image";
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
}
screenshot.SaveAsFile(@"D:\code\code.png", ScreenshotImageFormat.Png);//保存图片
if (File.Exists(@"D:\code\code.png"))
{
Image img = Image.FromFile(@"D:\image\baidu.png");
}