GVKun编程网logo

如何在Firefox 19中使用Selenium WebDriver进行鼠标悬停?(firefox 鼠标手势)

21

本文将为您提供关于如何在Firefox19中使用SeleniumWebDriver进行鼠标悬停?的详细介绍,我们还将为您解释firefox鼠标手势的相关知识,同时,我们还将为您提供关于Firefox+

本文将为您提供关于如何在Firefox 19中使用Selenium WebDriver进行鼠标悬停?的详细介绍,我们还将为您解释firefox 鼠标手势的相关知识,同时,我们还将为您提供关于Firefox + Selenium WebDriver并自动下载csv文件、perl – 使用Firefox 26的Selenium Webdriver 2?、ruby – 如何访问Firefox扩展我添加在Selenium Webdriver?、selenium + firefox + webdriver 遇到的坑的实用信息。

本文目录一览:

如何在Firefox 19中使用Selenium WebDriver进行鼠标悬停?(firefox 鼠标手势)

如何在Firefox 19中使用Selenium WebDriver进行鼠标悬停?(firefox 鼠标手势)

我用过硒2.31。

我已经使用Actions类进行鼠标移动。使用此功能,我将鼠标移到菜单上,并且其子菜单仅出现了几分之一秒,这与旧版本的Firefox不同。

由于此问题,我无法选择使用子菜单,driver.findElement因为它引发了异常“元素无法滚动到视图中”。

有什么解决办法吗?

答案1

小编典典

使用动作对象,您应该首先移动菜单标题,然后移至弹出菜单项并单击它。不要忘记actions.perform()在最后打个电话。这是一些示例Java代码:

Actions actions = new Actions(driver);WebElement menuHoverLink = driver.findElement(By.linkText("Menu heading"));actions.moveToElement(menuHoverLink);WebElement subLink = driver.findElement(By.cssSelector("#headerMenu .subLink"));actions.moveToElement(subLink);actions.click();actions.perform();

Firefox + Selenium WebDriver并自动下载csv文件

Firefox + Selenium WebDriver并自动下载csv文件

如何解决Firefox + Selenium WebDriver并自动下载csv文件?

有时内容类型与您期望的不一样使用 Firefox插件(或类似工具)查找文件的真实内容类型并在代码中使用它

顺便说一句,对我来说,内容类型是

fp.set_preference("browser.helperApps.neverAsk.openFile", "application/octet-stream");
fp.set_preference("browser.helperApps.neverAsk.savetodisk", "application/octet-stream");

解决方法

我对Selenium WebDriver和Firefox有问题。我想在对话框窗口中下载没有确认的csv文件,并且我有如下代码:

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.dir",download_dir)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")

但似乎不起作用。我尝试了与 browser.helperApps.neverAsk.saveToDisk的* 许多组合 *

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/csv,text/plan,text/comma-separated-values")

要么

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/csv")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/plain")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/comma-separated-values")

但没有任何区别,Firefox也不会自动下载。我该如何解决?

perl – 使用Firefox 26的Selenium Webdriver 2?

perl – 使用Firefox 26的Selenium Webdriver 2?

今天早上我用2.32和Firefox 25.0.1运行Selenium. Firefox更新到26.0,突然Selenium停止工作.它会弹出新的浏览器窗口,但只是坐在那里提示搜索或地址. Selenium是否有问题?它是否被Firefox地址栏中的新提示搞糊涂了?是否已经在较新的Selenium 2.3x中修复过?

在等待修复时,更改我的代码以使用Chrome或(yecch)IE10的最简单方法是什么?我想让我的测试代码可配置,以便我的小组中的其他人可以使用他们选择的浏览器(尤其是Chrome).我尝试通过在new()方法中添加’browser_name’=>’* chrome’来让Chrome工作,但它从未奏效.

顺便说一句,我使用的是Perl语言绑定(Selenium :: Remote :: Driver 0.17).

解决方法

尝试将selenium更新为2.38.0(撰写本文时为最新版本).我有类似的问题与firefox更新,然后按钮没有被点击和升级版本解决了它.希望这能解决它.

ruby – 如何访问Firefox扩展我添加在Selenium Webdriver?

ruby – 如何访问Firefox扩展我添加在Selenium Webdriver?

我知道您可以加载一个现有的Firefox配置文件,或者使用selenium-webdriver gem中的 Ruby Bindings创建一个,如下所述:

http://code.google.com/p/selenium/wiki/RubyBindings

然后使用add_extension添加任何数量的Firefox扩展到实例,但是什么?我使用的扩展窗口在测试期间不会出现.如何使用扩展名?

当驱动程序打开Firefox时,有没有办法默认打开扩展名?

以下是我使用的代码:

#!/usr/bin/env ruby
require "rubygems"
require "selenium-webdriver"

default_profile = Selenium::WebDriver::Firefox::Profile.from_name "default"
default_profile.add_extension("/Users/******/Library/Application Support/Firef\
ox/Profiles/wvon3h99.default/extensions/{9c51bd27-6ed8-4000-a2bf-36cb95c0c947}.\
xpi")

driver = Selenium::WebDriver.for(:firefox,:profile => default_profile)
driver.navigate.to "http://google.com"

element = driver.find_element(:name,'q')
element.send_keys "Hello WebDriver!"
element.submit

puts driver.title

driver.quit

解决方法

这取决于扩展.通常,在创建FF配置文件时,通过设置适当的属性(可以在about中找到的配置文件)来控制扩展的行为.例如,在FF启动后,默认情况下打开Firebug窗口,我将在我的代码中包含以下行:
default_profile["extensions.firebug.allPagesActivation"] = true

我使用的扩展通常有一些自动导出功能,可以自动将数据发送到服务器或将其保存在磁盘上.恐怕没有办法使用WebDriver来控制扩展,所以并不是所有的扩展都可以在自动测试中使用.

selenium + firefox + webdriver 遇到的坑

selenium + firefox + webdriver 遇到的坑

selenium + firefox + webdriver 遇到的坑

2018年07月28日 11:22:52 阅读数:196 标签: webdriverchromefirefoxDisplay 更多

个人分类: 小bug

lunix中启动webdriver时报错一:

测试代码为:

 
  1. #!/usr/bin/python

  2. # -*- coding: utf-8 -*-

  3.  
  4.  
  5. from selenium import webdriver

  6.  
  7. driver = webdriver.Firefox()

  8. driver.get("https://www.baidu.com")

运行报错信息如下:

 
  1. Traceback (most recent call last):

  2. File "maimai_web.py", line 14, in <module>

  3. driver = webdriver.Firefox()

  4. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__

  5. keep_alive=True)

  6. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 98, in __init__

  7. self.start_session(desired_capabilities, browser_profile)

  8. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 188, in start_session

  9. response = self.execute(Command.NEW_SESSION, parameters)

  10. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute

  11. self.error_handler.check_response(response)

  12. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response

  13. raise exception_class(message, screen, stacktrace)

  14. selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 1

处理方法:

 
  1. #!/usr/bin/python

  2. # -*- coding: utf-8 -*-

  3.  
  4.  
  5. from pyvirtualdisplay import Display

  6. from selenium import webdriver

  7.  
  8.  
  9. display = Display(visible=0, size=(1920, 1080))

  10. display.start()

  11. driver = webdriver.Firefox()

  12. driver.get("https://www.baidu.com")

结果:

运行ok,搞定!

坑二、webdriver实例化报错

采用多线程调用webdriver时候,偶尔会出现这样的错:selenium.common.exceptions.WebDriverException: Message: connection refused

 
  1. Exception in thread Thread-2:

  2. Traceback (most recent call last):

  3. File "/usr/local/python3.6/lib/python3.6/threading.py", line 916, in _bootstrap_inner

  4. self.run()

  5. File "/usr/local/python3.6/lib/python3.6/threading.py", line 864, in run

  6. self._target(*self._args, **self._kwargs)

  7. File "maimai_tran_account_driver.py", line 591, in debug

  8. t = TrainAccount(count,lock)

  9. File "maimai_tran_account_driver.py", line 32, in __init__

  10. self.chrome = webdriver.Firefox()

  11. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__

  12. keep_alive=True)

  13. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 98, in __init__

  14. self.start_session(desired_capabilities, browser_profile)

  15. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 188, in start_session

  16. response = self.execute(Command.NEW_SESSION, parameters)

  17. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute

  18. self.error_handler.check_response(response)

  19. File "/usr/local/python3.6/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response

  20. raise exception_class(message, screen, stacktrace)

  21. selenium.common.exceptions.WebDriverException: Message: connection refused

 查看geckodriver.log具体报错信息。

后续的坑继续填。。。

今天的关于如何在Firefox 19中使用Selenium WebDriver进行鼠标悬停?firefox 鼠标手势的分享已经结束,谢谢您的关注,如果想了解更多关于Firefox + Selenium WebDriver并自动下载csv文件、perl – 使用Firefox 26的Selenium Webdriver 2?、ruby – 如何访问Firefox扩展我添加在Selenium Webdriver?、selenium + firefox + webdriver 遇到的坑的相关知识,请在本站进行查询。

本文标签: