我有一个超级简单的测试脚本(如下)来开始使用WebDriver。当我运行测试(C#-Visual Studio 2015)时,它会打开一个Firefox浏览器,然后什么也不做。
有几个帖子讨论了以下问题,我也得到了:
OpenQA. Selenium.在45000毫秒内启动套接字失败。试图连接到以下地址:127.0.0.1:7055。
但是那些关于这个问题的帖子很旧了,也有一个主要的不同——他们的FF浏览器没有打开;我的打开了。
守则:
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace seleniumDemo
{
[TestClass]
public class UnitTest1
{
static IWebDriver driverFF;
[AssemblyInitialize]
public static void SetUp(TestContext context)
{
driverFF = new FirefoxDriver();
}
[TestMethod]
public void TestFirefoxDriver()
{
driverFF.Navigate().GoToUrl("http://www.google.com");
driverFF.FindElement(By.Id("lst-ib")).SendKeys("Selenium");
driverFF.FindElement(By.Id("lst-ib")).SendKeys(Keys.Enter);
}
}
}
这个问题与建议的重复问题不同,因为在这种情况下,FireFox浏览器实际上是打开的。在其他问题中,它根本没有回答。
您可以从以下位置下载最新版本的marrionetdriver
:
https://github.com/mozilla/geckodriver/releases
您应该将可执行文件木偶连接到Windows系统路径:
要将木偶可执行文件添加到Windows系统路径,需要更新path系统变量并将完整目录添加到可执行文件。
为此,右键单击开始菜单并选择系统。在左侧面板中单击高级系统设置,然后在系统属性窗口中单击环境变量按钮。现在剩下的唯一步骤是编辑Path系统变量,并将完整目录添加到gecko驱动程序中(如果还没有出现,在这样做之前可能需要添加分号),然后就可以开始了。
然后简单地创建您的驱动程序实例:
var driver = new FirefoxDriver(new FirefoxOptions());
使用万豪驱动
来使用最新版本的Firefox。
下面是Java代码,您可以用C#编写(确保在项目文件夹的BrowserDriver文件夹下有geckodriver.exe)
System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir")+"/BrowserDrivers/geckodriver.exe");
DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setCapability("marionette", true);
WebDriver driver = new MarionetteDriver(cap);
这似乎与Selenium和Firefox版本不兼容有关。当我的机器上的selenium无法与firefox通信时,我也遇到了同样的错误。我把firefox升级到46。然后它开始工作了。
您可以在网上找到版本兼容性信息,也可以参考selenium变更日志。
我正在使用Selenium 3.0和firefox 48自动化应用程序。但在firefox48中,自动选择下拉菜单不起作用。 同样的代码也适用于IE和chrome。 这是浏览器的问题还是我的代码的问题? 在此输入图像描述
我查了一下,我怎么能默默地运行硒:在这里找到了下一个伟大的答案 我正在尝试让selenium正常运行,直到一些操作完成,然后在后台运行它。 有可能吗? 高级Oz中的thanx
正在研究尝试理解显式等待的方法。 所以单选按钮被点击后,输入形式发生了变化,所以我把给它一个时间元素出现,否则会出错“元素不可见......”。所以我认为现在是理解显式等待的好时机,因为我需要等到元素出现。 但出现错误“Selenium::WebDriver::error::ElementNotVisibleError:Element当前不可见,因此可能无法与之交互”。为什么这段代码不等到元素出现
我的目标是使用硒为Python自动在线账单支付。 使用以下代码使用 Web 驱动程序登录成功: 登录后,一个新的页面加载,我的下一步是点击一个链接。代码: 什么也没发生。没有导航到该法案 但仍然没有。我还应该尝试其他什么? 错误: Traceback(最近调用的最后一次):File"/home/队长/. PyCharmEdu30/config/划痕/scratch_1.py",第12行,在clic
我有一个问题,上传文件到网络系统使用硒驱动程序。所以在我的页面上,我没有任何输入来设置文件路径,而且我在网络上找到的大多数解决方案都不适合我。我必须点击上传文件按钮,然后在窗口对话框中设置文件的路径。我找到了winforms SendKeys类中使用的方法: 它的工作,但只有当测试有完全控制的机器(如果没有-路径已发送到某处不对话)。这就是问题所在,因为我无法完全控制运行测试的机器。你知道不使用S
下面是我为firefox浏览器初始化的selenium web驱动程序。 尽管我给出了隐式等待,但我没有等待元素。它会立即抛出not found异常。如果我放那么它工作正常,没有任何问题。但是把现在测试用例包含更多线程的任何地方。sleep比实际的测试用例代码低。有人能给我建议正确的方法吗?