Tag: selenium webdriver

如何在静默模式下执行Selenium Chrome WebDriver?

使用Chrome Selenium-WebDriver时,它将在服务器启动时输出诊断输出: 在端口9515上启动ChromeDriver(v2.0) 我不想看到这些消息,我怎么能抑制它们呢? 我这样做 ChromeOptions options = new ChromeOptions(); options.AddArgument(“–silent”); IWebDriver Driver = new ChromeDriver(options); 但诊断输出不会被抑制。

如何使用Selenium Webdriver(C#)获取页面名称?

如何使用Selenium C#Webdriver获取页面标题?

如何从父元素中获取文本并从子元素中排除文本(C#Selenium)

是否可以仅从父元素获取文本而不是Selenium中的子元素? 示例:假设我有以下代码: Google Link This link will take you to Google’s home page. … 在C#(或任何语言)中,我将: string linktext = driver.FindElement(By.CssSelector(“.linksSection > a#google”)).Text; Assert.AreEqual(linkText, “Google Link”, “Google Link fails text test.”); 但是,linktext将具有“谷歌链接此链接将带您到谷歌的主页。” 如果没有做一堆字符串操作(例如获取所有子节点的文本并从父节点的结果文本中减去它),有没有办法从父元素中获取文本?

如何使用Selenium将关键和弦发送到文本区域?

我想模拟用户在文本区域按shift-enter。 这是我正在使用的代码: var driver = new FirefoxDriver(); driver.Navigate().GoToUrl(“http://pagewithtextarea”); var textarea = driver.FindElement(By.Id(“myTextArea”)); //Send text textarea.SendKeys(“hello world!”); 如果我想模拟按下回车按钮,我可以说 textarea.SendKeys(Keys.Enter); 我怎样才能模拟按下换档并同时进入?

安装了Selenium WebDriver.ChromeDriver Nuget包,但不适用于MSTest

我已将WebDriver.ChromeDriver nuget包添加到我的解决方案中,该解决方案包含Selenium WebDriver使用Chrome运行自动化测试所需的ChromeDriver.exe文件。 查看包内容,它只包含以下文件: tools\chromedriver.exe 这应该做的是将此文件夹添加到PATH环境变量,以便可以通过以下代码访问chromedriver.exe (这是在使用MSTest的UnitTest项目中): [TestMethod] public void LaunchWebsite_Chrome() { // create ChromeDriver – this should work if chromedriver.exe // is known to the environment PATH variable IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl(“http://localhost/”); } 但是,我仍然遇到以下exception: chromedriver.exe文件不存在于当前目录或PATH环境变量的目录中。 该驱动程序可以从http://code.google.com/p/chromium/downloads/list下载。 查看nuget文档,它表明nuget包的tools文件夹中的任何内容都将自动添加到PATH环境变量中: http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package :软件包的tools文件夹用于可从软件包管理器控制台访问的powershell脚本和程序。 将文件夹复制到目标项目后,它将添加到`$ env:Path(PATH)环境变量中。 但是,这似乎不起作用。 我甚至在命令行上运行了echo %PATH% ,它没有将我的工具文件夹显示为已注册。 我究竟做错了什么?

如何连接已经打开的浏览器?

我非常感谢有关如何使用Selenium Webdriver通过C#连接到已经打开的浏览器的指南。 这个问题占我脚本开发时间的30%左右!

如何使用C#使用Selenium WebDriver滚动到元素

如何让Selenium WebDriver滚动到特定元素以在屏幕上显示它。 我尝试了很多不同的选择,但没有运气。 这不适用于c#绑定吗? 我可以跳转到特定位置ex ((IJavaScriptExecutor)Driver).ExecuteScript(“window.scrollTo(0, document.body.scrollHeight – 150)”); 但我希望能够将它发送到不同的元素,而不是每次都给出确切的位置。 public IWebElement Example { get { return Driver.FindElement(By.Id(“123456”)); } } Ex 1) ((IJavaScriptExecutor)Driver).ExecuteScript(“arguments[0].scrollIntoView(true);”, Example); 例2 ((IJavaScriptExecutor)Driver).ExecuteScript(“window.scrollBy(Example.Location.X”, “Example.Location.Y – 100)”); 当我观看它时,它不会将页面跳转到元素,并且exception与屏幕外的元素匹配。 更新:我添加了一个bool ex = Example.Exists(); 之后检查结果。 它确实存在(它是真的)。 它没有显示(因为它仍然在屏幕外,因为它没有移动到元素)它没有被选中?????? 有人看到成功By.ClassName。 有没有人知道在C#绑定中执行此操作是否有问题.Id?

页面加载超时 – 使用C#的Selenium Webdriver

我正在使用Selenium 2.25 WebDriver 我遇到了在页面上找到元素的问题,有时我的测试用例能够找到元素,有时页面不会加载,而且由于页面加载,如果我在下面添加这个元素,它似乎正在工作: driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(2)); 我的问题是,我不想让我的代码散布上面的代码行,有没有办法让它在一个地方集中化? 任何帮助将不胜感激,谢谢!

使用Selenium Webdriver处理Windows身份validation

在C#中基于Selenium Webdriver的测试必须使用Windows身份validation登录。 我尝试了几种方法: _Driver.SwitchTo().Alert(); _Driver.FindElement(By.Id(“UserName”)).SendKeys(“LynnTest”); _Driver.FindElement(By.Id(“Password”)).SendKeys(“Welcome1!”); _Driver.SwitchTo().Alert().Accept(); _Driver.SwitchTo().DefaultContent(); 和 IAlert alert = _Driver.SwitchTo().Alert(); alert.SendKeys(“LynnTest\\t”); alert.SendKeys(“Welcome1!”); _Driver.SwitchTo().Alert().Accept(); _Driver.SwitchTo().DefaultContent(); 两者都没有成功。 我没有在我的本地系统上获得Windows身份validation对话框,因此我无法查看源以确定如何使用Selenium By方法查找用户名和密码。 我相信浏览器提供了Windows身份validation对话框,但我没有找到该对话框的任何来源。 使用Selenium(不是AutoIt或其他类似工具)如何将用户名和密码传递到Windows身份validation对话框? 解决方案必须基于Selenium代码,而不是加载项,我无法访问云中的浏览器。 注意:在URL中传递用户名和密码不起作用,因为我理解,因为对话框不是由页面上的html生成的。

查找Selenium WebDriver启动的浏览器进程的PID

在C#中我启动了一个浏览器进行测试,我想得到PID,这样在我的winforms应用程序中我可以杀死所有剩余的ghost进程 driver = new FirefoxDriver(); 我怎样才能获得PID?