如何在Chrome Webdriver c#中按Control + S

时间:2019-02-09 18:12:08

标签: c# selenium selenium-webdriver selenium-chromedriver

我有一个问题,关于如何基本上可以使用C#在Chrome Webdriver的任何页面上按Ctrl + s,我一直试图在过去两天中找到解决方案,但没有发现任何问题,并且仍在搜索中。如果有人帮助我。我要感谢那个人。 这是我编写的代码:

string CaptchaSrc = driver.FindElement(By.XPath("//img[@class='captchaImage']")).GetAttribute("src"); 
Thread.Sleep(2000);
driver.Navigate().GoToUrl(CaptchaSrc); 
driver.FindElement(By.TagName("body")).SendKeys(OpenQA.Selenium.Keys.Control + '\u0053');
Actions action = new Actions(driver); char S = '\u0053'; action.SendKeys(System.Windows.Forms.Keys.Control + Convert.ToString(S)).Build().Perform();
Thread.Sleep(4000); 
System.Windows.Forms.SendKeys.SendWait(@"C:\Users\Blue\Downloads\" + captchaNumbering.ToString());
System.Windows.Forms.SendKeys.SendWait(@"{Enter}");

我已经尝试了StackOverFlow上几乎所有存在的方法,甚至尝试了所有方法,但对我没有任何帮助。我只想在转到从互联网上抓取的Image的src-URL后按Control + S。

enter link description here

1 个答案:

答案 0 :(得分:0)

也许您可以使用HTML Agility Pack保存页面或尝试

.SendKeys(Keys.Control + "a")
.SendKeys(Keys.Control + String.valueOf('\u0053'))

如果图片很逼真的,您可以使用此代码为例

string pagehtml = element.GetAttribute("innerHTML");
HtmlWeb page = new HtmlWeb();
HtmlDocument document = page.Load(pagehtml);
document.save("name.html");

我希望这个示例有效。我没有检查,但也许显示了搜索的方式。