c#セレン元素のスクリーンショット
NuGetを介してコンポーネントをインストールする
写真で選択したSelenium.WebDriver、Selenium.Support、Selenium.RCをインストールします
Webページを開き、要素を見つけて要素のスクリーンショットを撮ります
ps:コードを書く前に、chromedriver.exeが存在するかどうかを確認する必要があり、バージョンがGoogle Chromeと一致しているかどうかを確認する必要があります==(これは落とし穴です。踏まないでください)==
ここではBy.XPath( "");のみが使用され、/はルート要素を表します。ここで使用することはお勧めしません。使用する必要がある場合は、XPathHelperプラグインを使用して素子。
例としてBaiduを次に示します。コードを直接アップロードすると、見やすいようにコードにコメントがあります。
要件:Baiduのボタンを取得し、スクリーンショットをローカルに保存します。
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");
}