Tag: selenium

如何从selenium中的href链接获取属性值

我试图从“a href”属性获取链接 Download 我在做什么: ReadOnlyCollection lists1 = driver.FindElements(By.ClassName(“dl_link”)); string s = lists1[0].GetAttribute(“a href”); 我正在获取类“dl_link 1”的元素,但我无法得到它的链接,字符串为空?

Selenium因Chrome版本32.0.1700.72 m而失败

Chrome今天早上(2014年8月1日)为我自动更新为“版本32.0.1700.72 m”,现在我的所有自动化测试都无法运行 – 它们失败并出现“System.InvalidOperationException:System.InvalidOperationException:unknown error:无法几乎立即发现打开的页面。 我在跑: Windows 7企业版(SP1)64位 Chrome版本32.0.1700.72 m Selenium ChromeDriver v2.2 .NET C# 这是我得到的控制台输出: Starting ChromeDriver (v2.2) on port 26819 [8668:8300:0108/162344:ERROR:chrome_views_delegate.cc(176)] NOT IMPLEMENTED [8668:8300:0108/162344:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENTED [8668:8300:0108/162345:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENTED 这是我得到的例外: Class Initialization method LeadManager.Web.UITest.Tests.ViewLeads.PriorityModeTests.ClassInitialize threw exception. System.InvalidOperationException: System.InvalidOperationException: unknown error: unable to discover open pages (Driver info: chromedriver=2.2,platform=Windows NT 6.1 SP1 x86_64). at […]

在Selenium中为Chrome驱动程序设置代理

我在Chrome浏览器中使用C#for Automation的Selenium Webdriver。 我需要检查我的网页是否在某些地区(某些IP范围)中出现了问题。 所以我必须在Chrome浏览器中设置代理。 我尝试了下面的代码。 代理正在设置但我收到错误。 有人可以帮助我。 ChromeOptions options = new ChromeOptions(); options.AddArguments(“–proxy-server=XXX.XXX.XXX.XXX”); IWebDriver Driver = new ChromeDriver(options); Driver.Navigate().GoToUrl(“myUrlGoesHere”); 当我运行此代码时,我在Chrome浏览器中收到以下消息:我尝试启用“代理”选项,但“禁用更改代理设置”选项。 *无法连接到代理服务器 代理服务器是充当计算机与其他服务器之间的中介的服务器。 目前,您的系统已配置为使用代理,但Google Chrome无法连接到该代理。 如果使用代理服务器…请检查代理设置或联系网络管理员以确保代理服务器正常工作。 如果您认为自己不应该使用代理服务器:转到Chrome菜单>设置>显示高级设置…>更改代理设置…> LAN设置,然后取消选择“为LAN使用代理服务器”。 错误代码:ERR_PROXY_CONNECTION_FAILED *

Selenium 2.0 WebDriver Advcanced Interactions DoubleClick帮助(c#)

所以在我的selenium回归测试中,我一直试图双击日历来制作新的appt。 我试图使用doubleClick(); advanceduserinteractions库中的方法,但存在问题; 两次点击不够快/足够接近以实现双击! 有人在他们的测试中找到了解决这个问题的方法吗?

Selenium – 向下滚动一个不断增长的页面

我正在使用Selenium和c#。 Selenium通常可以自动向下滚动到网页的底部以查找元素,但我遇到了某个页面可能会增加大小的问题。 任何人都可以建议一旦它的大小增加就会向下滚动到页面底部的代码吗?

新窗口句柄在IE中消失,无法切换到新窗口

我在Internet Explorer 10中使用最新版本的Selenium(2.37.0)与C#(使用最新的32位InternetExplorerDriver,2.37.0)登录网页,单击打开新窗口的按钮,然后将焦点更改为新窗口。 最初我在Firefox中使用这个代码,每次都可以使用它: // Get handle for original window string parentHandle = driver.CurrentWindowHandle; // Click on button for new window driver.FindElement(By.Id(“buttonForNewWindow”)).Click(); // Get list of all window handles ReadOnlyCollection allWindowHandles = driver.WindowHandles; // Loop over all handles and switch to new child window foreach (string handle in allWindowHandles) { if (handle != parentHandle) { […]

多个浏览器使用Webinator + Selenium,SpecFlow和NUnit进行测试

我正在使用Selenium驱动程序使用WebinatorSpecFlow + NUnit开发ASP.NET MVC 3应用程序。 我在使用Chrome(使用chromedriver)和Internet Explorer运行并行测试时遇到问题。 每当我在同一个会话中运行两个测试并通过Webinator并行运行Selenium时,当我向页面发送任何单击操作时,IE似乎都会挂起。 我无法使用此处建议的解决方案,因为SpecFlow会自动生成基础C#代码。 我的解决方案是这样设计的(完整代码可作为要点): _multipleBrowsers.RunTest(web => web.GoToUrl(“http://localhost/PROJECT/Authentication/Registration”)); 会发生什么是我为每个需要测试的浏览器实例化一个新的IWebManager。 然后,我使用浏览器实例调用委托操作。 它是这样的: foreach (var web in _webManagers) { Debug.WriteLine(“Running test with ” + web.Config.Browser); action(web); } 这样,测试几乎并行运行。 它会弹出浏览器,执行操作,然后弹出其他浏览器,等等。 有关如何克服此ChromeDriver问题的任何想法? 我应该使用SpecFlow为多个浏览器更改我的测试方法吗? 参考文献: Webinator specflow NUnit的 ChromeDriver

新窗口句柄在IE中消失

这是我在此问过的上一个问题的后续跟进。 我之前遇到过使用Selenium 2.37.0在Internet Explorer 10中切换窗口的问题。 我的C#程序将导航到一个页面,单击一个打开链接的按钮,然后尝试导航到新窗口以执行其他任务。 我的程序一直都失败了,我确定这是因为Selenium的窗口句柄。 打开一个新窗口后,窗口句柄的数量( driver.WindowHandles.Count )会按预期从1增加到2,但经过一段时间后,窗口句柄的数量会下降到1。 我创建了一个可以重现此问题的最小样本网页。 只需将以下代码保存到桌面上名为test.aspx的文件中: 这是我的C#代码(Visual Studio 2010中的一个名为TestWindowSwitching的控制台项目),它打开此页面,单击按钮并打印一些输出: using System; using System.Threading; // Needed for Sleep using System.Diagnostics; // Needed for Stopwatch using OpenQA.Selenium; using OpenQA.Selenium.IE; namespace TestWindowSwitching { class Program { static void Main() { IWebDriver driver = new InternetExplorerDriver(); driver.Navigate().GoToUrl(“C:\\Users\\yourNameHere\\Desktop\\test.aspx”); try { driver.SwitchTo().DefaultContent(); } catch { […]

在OpenQa Selenium 3.7中找不到WebDriverWait类

我刚刚在Selenium中使用Webdriver 3.7启动了一个新项目,我正在寻找OpenQA.Selenium.Support.UI命名空间中的Webdriverwait类,我记得它,但我似乎无法在任何地方找到它。 我使用NuGet管理器在我的VS 2017上安装了Selenium,并安装了Selenium.Webdriver和Selenium.Support软件包。 我还使用using关键字将OpenQA.Selenium.Support.UI命名空间放在代码中。 我敢肯定它一定是显而易见的,我错过了,但这让我发疯了。 有没有人有任何想法? 编辑:在尝试更多地解决这个问题后,我发现我只能访问OpenQA.Selenium.Support.UI命名空间中可用的部分类。 在该命名空间中定义了三个类和两个接口,我似乎无法访问它们,它们是:DefaultWait,SystemClock,WebDriverWait,IClock和IWait。 因此,没有对OpenQA.Selenium.Support.UI命名空间的引用也不会有问题,因为其中的其他类我可以访问得很好。

当手动中断浏览器时,Selenium会停止

当Selenium启动它时会打开浏览器并开始填充数据,但当用户在selenium运行时点击浏览器中的某个位置时,selenium执行会停止,这会导致我的应用程序崩溃,是否可以处理此类崩溃