截至本文发布之日,"Microsoft Edge"这个名称刚刚被正式宣布为新Windows 10的默认浏览器.
现在提问可能为时过早,但我想知道是否可以使用新的Selenium WebDriver,如果没有,是否有任何说明我们可以期待等待多长时间才能看到一个已开发的?
(Windows 10的技术预览已经出来,所以这对我来说似乎不是一个愚蠢的问题.)
selenium webdriver selenium-webdriver microsoft-edge selenium-edgedriver
我在我的项目中添加了用于硒测试的 chromedriver 选项,但我不明白 Edgedriver 的适当方法。我已经尝试了所有的可能性。有人可以帮我吗?谢谢。
ChromeOptions options = new ChromeOptions();
options .addArguments("--start-maximized");
options .addArguments("--window-size=1920,900");
_chromeOptions.addArguments("--ignore-certificate-errors");
Run Code Online (Sandbox Code Playgroud)
它对于 chromeOptions 工作正常,但我不明白如何编写边缘选项。
EdgeOptions options = new EdgeOptions();
options.setCapability("window-size","1920*900");
options.setCapability("ignore-certificate-errors" , true);
DesiredCapabilities capabilities = DesiredCapabilities.edge();
options.merge(capabilities);
Run Code Online (Sandbox Code Playgroud)
对于边缘选项,因为没有 addArguments 函数,我尝试使用 setCapability 和 atlast 与 DesiredCapability 合并,但它不起作用
java selenium-chromedriver selenium-webdriver selenium-edgedriver
我在网上搜索了自动“自动更新”我的 Selenium EdgeDriver 的解决方案。对于那些使用 SeleniumBasic 的人来说,您知道当您的主主机浏览器进行重大更新时,经常从相应的网页手动下载驱动程序可能会很麻烦。
在我的网络搜索中,我发现其他语言支持“自动更新”这些驱动程序的版本,但 VBA 一如既往地缺乏支持。
现在我并不认为这是完美的解决方案,但它至少有效。我将来看到的问题是每个网页的布局可能会发生变化,所以如果是这种情况我欢迎更新,我也会尝试更新。但在大多数情况下,它应该可以工作。
虽然这是一个自我回答的问题,但我绝对希望看到此处发布的其他方法供我自己和其他用户尝试。SeleniumBasic 对于某些应用程序来说是一个很好的工具,但通常缺乏社区支持,因为 VBA 在社区中的使用不像其他语言那样广泛 - 至少在更复杂的层面上如此。
selenium vba selenium-chromedriver selenium-webdriver selenium-edgedriver
尝试使Microsoft Edge自动化与Selenium配合使用时,出现以下异常:
OpenQA.Selenium.WebDriverException:意外错误。未知错误
我正在使用Selenium.WebDriver.MicrosoftDriver NuGet程序包,版本17.17134.0。
我的代码只是构造函数:
var driver = new EdgeDriver();
Run Code Online (Sandbox Code Playgroud)
我尝试了各种建议的重载:
var driver = new EdgeDriver(new EdgeOptions());
var driver = new EdgeDriver(pathToMicrosoftWebDriverExecutable);
Run Code Online (Sandbox Code Playgroud)
没运气。我确保Microsoft的WebDriver版本与运行测试的计算机上的Edge版本匹配。
有什么办法可以在这里获得更详尽的错误消息?请注意,所有Selenium单元测试都可以在Firefox和Chrome WebDrivers上正常运行,只有Edge无法正常工作。
我正在使用EdgeDriver在浏览器 (Edge 38.14393.0.0) 上运行自动化测试。我的测试是在 C# 中进行的,因此我使用 .NET 驱动程序:
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Edge;
var options = new EdgeOptions();
options.PageLoadStrategy = EdgePageLoadStrategy.Normal;
RemoteWebDriver driver = return new EdgeDriver(Environment.CurrentDirectory, options, TimeSpan.FromSeconds(60));
driver.SetDocumentSize(new Size(800, 600)); // HERE!
Run Code Online (Sandbox Code Playgroud)
这段代码是我在测试开始时运行的代码。它在最后一行失败:
类初始化方法
Web.TestSuite.UIRendering.RenderingTestSuiteEdge.TestClassInitialize抛出异常。System.InvalidOperationException:System.InvalidOperationException: 窗口大小操作失败,因为该窗口当前不可用。
有了这个堆栈跟踪:
OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: line 1126
OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: line 920
OpenQA.Selenium.Remote.RemoteWindow.set_Size(Size value) in ...
Run Code Online (Sandbox Code Playgroud)
仅供参考,请注意,我使用各自的驱动程序在 Chrome 和 IE11 上运行了其他测试。当我调用SetDocumentSize这些时,我没有收到任何错误。
我可以找到一些与此问题相关的未决问题:
所以,这些是我的问题:
c# webdriver selenium-webdriver microsoft-edge selenium-edgedriver
我正在开发一个 Java (11) 项目,我们需要使用 Edge-Chromium(通过 docker 容器在 Linux 上运行)进行一些测试,因此我必须将我们使用的 Selenium 版本升级到 4.0 .0-beta-4。
我已经设法让这一点工作,但是在升级时,似乎当我现在运行任何类型的测试(本地或通过容器)时,日志中都会充满 GET/POST 请求,就好像浏览器本身正在输出其所有内容一样跟踪级别的活动,包括看起来像访问页面的内存转储的内容(下面的示例,想象一下这个 x 500,这就是日志看起来完全难以辨认的样子):
+-------------------------------------------------+
| 0 1 2 3 4 5 6 7 8 9 a b c d e f |
+--------+-------------------------------------------------+----------------+
|00000000| 44 45 4c 45 54 41 20 2f 73 65 73 73 69 6f 6c 2f |DELETE /session/|
|00000010| 30 35 62 37 66 36 35 30 61 64 39 33 66 38 37 37 |05b234567d93f877|
|00000020| 65 65 39 31 …Run Code Online (Sandbox Code Playgroud)