我正在使用selenium 2.24 firefox驱动程序来测试输入框的模糊事件.目前在我将Keys发送到输入框之后,我让selenium点击另一个区域来触发输入框模糊,但是我认为这不是一个好方法,任何人都知道更好的测试方法吗?
非常感谢.
我在stackoverflow上发现了类似的错误,并使用以下方法将selenium webdriver jar文件添加到项目中:
右键单击项目 - >转到构建路径 - >配置构建路径 - >单击"添加外部jar" - >从本地计算机添加selenium jar文件 - >单击确定 - >现在鼠标悬停在WebDriver上你的代码 - >点击"导入webdriver" - 现在运行你的代码 - >你将摆脱异常.
但是,我仍然收到错误.这是错误:
线程"main"java.lang.Error中的异常:未解决的编译问题:WebDriver无法解析为类型FirefoxDriver无法解析为类型
我有一个使用无头浏览器的脚本,我正在使用它crontab -e.它在前几次运行正常,然后使用以下Traceback崩溃:
Traceback (most recent call last):
File "/home/clint-selenium-firefox.py", line 83, in <module>
driver.get(url)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 248, in get
self.execute(Command.GET, {'url': url})
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Failed to decode response from marionette
Run Code Online (Sandbox Code Playgroud)
我的crontab行是:
*/10 * * * * export DISPLAY=:0 && python /home/clint-selenium-firefox.py >> /home/error.log 2>&1
Run Code Online (Sandbox Code Playgroud)
我不想用python脚本重载这个,所以我已经拿出了我认为的相关位.
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
...
driver = webdriver.Firefox()
driver.get(url) …Run Code Online (Sandbox Code Playgroud) python cron selenium-firefoxdriver selenium-webdriver pyvirtualdisplay
使用Selenium和python,我可以使用Chrome webdriver来做到这一点:
options.add_experimental_option("excludeSwitches", ["enable-automation"])
driver = webdriver.Chrome(options = options)
Run Code Online (Sandbox Code Playgroud)
但是我找不到Firefox的webdriver选项的类似属性。是否存在?
显然我今天早上升级了我的Firefox以及其他一些系统更新,现在我的硒测试已经破了!他们昨天工作正常,一切都过去了.表现悬停似乎是一个问题.这是我得到的错误:
Traceback (most recent call last):
File "sel.py", line 201, in testAddContent
hoveredElement.perform()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/action_chains.py", line 44, in perform
action()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/action_chains.py", line 201, in <lambda>
self._driver.execute(Command.MOVE_TO, {'element': to_element.id}))
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 155, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 147, in check_response
raise exception_class(message, screen, stacktrace)
InvalidElementStateException: Message: u'Cannot perform native interaction: Could not load native events component.' ; Stacktrace: Method generateErrorForNativeEvents threw an error in file:///tmp/tmpq2yHMn/extensions/fxdriver@googlecode.com/components/driver_component.js
Run Code Online (Sandbox Code Playgroud) 如果您的代理服务器需要身份验证,则在下面的代码中设置代理服务器参数,然后FireFox将带来身份验证对话框,基本上您无法自动填写它.那么无论如何设置USERNAME和PASSWORD?
FirefoxProfile profile = new FirefoxProfile();
String PROXY = "192.168.1.100:8080";
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.HttpProxy=PROXY;
proxy.FtpProxy=PROXY;
proxy.SslProxy=PROXY;
profile.SetProxyPreferences(proxy);
FirefoxDriver driver = new FirefoxDriver(profile);
Run Code Online (Sandbox Code Playgroud)
如果您尝试将代理字符串格式化为类似的东西http://username:pass@192.168.1.1:8080
您会收到字符串无效的错误.所以我想知道必须有一种实现这一目标的方法.
任何帮助,将不胜感激.
driver.Navigate().GoToUrl("/")将位置设置为"/"而不是" http://www.domain.com/ "
另一个例子是
driver.Navigate().GoToUrl("/ view1")将位置设置为"/ view1"而不是" http://www.domain.com/view1 "
这两个示例都会导致浏览器返回,地址无效.
谁能帮我?
哪个Firefox版本与Selenium 2.48.0兼容
我正在使用selenium来测试我们的网站.当我构建项目时,有一个异常: -
OpenQA.Selenium.WebDriverException:无法在45000毫秒内启动套接字.尝试连接到以下地址:127.0.0.1:7055,问题来自代码
IWebDriver driver = new FirefoxDriver();
Run Code Online (Sandbox Code Playgroud)
谁知道如何解决这个问题?
我正在构建一些 Jave/Junit Selenium 测试以与 Chrome 和 Firefox 一起使用。
我找不到有关如何以最大化状态启动 Firefox 浏览器窗口的任何信息。使用 Chrome 我可以使用 ChromeOptions,例如:
anOptions.addArguments("--start-maximized");
我找不到任何方法让 Firefox 和 FirefoxOptions 发生同样的事情。
有什么建议?