草庐IT

Watir-WebDriver

全部标签

python - 如何在 ubuntu 上为 python3 selenium 安装 firefoxdriver webdriver?

我在Ubuntu16.04上安装了python3-seleniumapt包。安装时,收到一条消息:Suggestedpackages:chromedriverfirefoxdriverThefollowingNEWpackageswillbeinstalled:python3-selenium当我尝试在python3-django中运行测试用例时,出现以下错误:FileNotFoundError:[Errno2]Nosuchfileordirectory:'/usr/lib/firefoxdriver/webdriver.xpi'我确实在Ubuntu存储库中搜索了名为firefoxdr

python - 使用 Selenium Webdriver 和 Python 检测音频

也许不容易做到,但我希望能够在Selenium中加载网页并测试flash或html5是否自动播放音频。理论上,当用户访问我的网站时,他们可以看到视频播放但看不到音频(正确方式)有时音频会随着视频自动播放,这是我不想要的。我想知道是否有办法检测是否有任何音频正在通过python和firefox播放?我的内部测试将加载页面并进行大量selenium检查以确保一切正常。我想做的是添加一个测试,如果音频正在播放并标记它,它还会使用python或selenium检查。有什么想法吗? 最佳答案 我也有类似的问题。我通过网络处理大量音频。我必须自

python - 权限被拒绝 : 'geckodriver.log' while running selenium webdriver in python

我已经在centos上安装了Firefox和Selenium。我正在使用Xvfb和pyvirtualdisplay打开浏览器。当我尝试运行seleniumwebdriver时,我能够打开一个新的显示,但只要我这样做浏览器=webdriver.Firefox()我得到错误:File"",line1,inFile"/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py",line134,in__init__self.service=Service(executable_path,log_path=lo

Python Selenium WebDriver 如何为 get(url) 函数添加超时

我正在运行一段简单的代码,通过代理下载网站,但有时代理可能会很慢,这可能会导致WebDriver.get(url)请求无限期阻塞。WebDriver是否有一段简单的Python代码可以为此函数设置超时?通过搜索,我只找到了适用于Java的技术。driver.get(url) 最佳答案 对于所有的webcretents,我用来解决这个问题的是这个。Selenium使用socket库,所以我在socket模块上设置了一个超时,这会抛出一个错误,我们可以使用该错误将转义键发送到浏览器(这会停止页面加载):socket.setdefault

python - selenium webdriver sendkeys() 使用 python 和 firefox

我正在使用selenium2.25.0、firefox3和python2.6.6。我正在尝试运行一个使用sendkeys()的selenium函数:Webdriver.find_element_by_name('j_username').clear()webdriver.find_element_by_name('j_username').send_keys("username")这段代码可以在我的机器上运行。然而,从另一台机器运行时,用户名字段留空并继续执行脚本的其余部分(不报告任何错误)。我可以看到在尝试发送用户名之前该字段已被清除,因此我知道查找按钮/按钮命名没有问题。我试过在清

python - 遍历 Selenium 2 WebDriver 中的表(python)

我在HTML中有以下表格布局(相应更改):FirstNameLastNameAgeJoeBloggs28JohnDoe30我希望能够使用Selenium2.0WebDriver对此进行迭代,但我找不到任何好的示例。如有任何帮助,我们将不胜感激。 最佳答案 用过的:fromselenium.webdriver.common.byimportBytrs=driver.find_elements(By.TAG_NAME,"tr")tds=trs[1].find_elements(By.TAG_NAME,"td")这允许循环遍历每一个以根据

python - Selenium webdriver 的工厂模式

目前我正在尝试使用Selenium和Proboscis编写一个自动化测试套件。我正在尝试抽象webdriver并通过工厂模式实现。Page_object类也是在这里创建的,它在创建对象时将webdriver作为参数。下面是代码。importselenium.webdriveraswebdriverfromproboscisimportTestProgramfromproboscisimporttestfromproboscisimportbefore_classfromproboscisimportafter_classclassWebdriverFactory:@staticmeth

python - 如何在 Python 上使用 selenium webdriver 和 browsermob 代理捕获网络流量?

我想通过在Python上使用SeleniumWebdriver来捕获网络流量。因此,我必须使用代理(如BrowserMobProxy)当我使用webdriver.Chrome时:frombrowsermobproxyimportServerserver=Server("~/browsermob-proxy")server.start()proxy=server.create_proxy()fromseleniumimportwebdriverco=webdriver.ChromeOptions()co.add_argument('--proxy-server={host}:{port}

python - 如何验证按钮是否在 Webdriver Python 中启用和禁用?

我尝试使用另一篇文章中的以下内容driver.find_element_by_name("sub_activate").click().is_enabled()但是得到了这个错误:AttributeError:'NoneType'objecthasnoattribute'is_enabled' 最佳答案 您不需要调用click()。只需找到元素并调用is_enabled()在上面:element=driver.find_element_by_name("sub_activate")printelement.is_enabled()仅

python - 通过 Selenium 中的 webdriver 传递用户代理

我正在使用Python中的Selenium进行网站抓取项目。当我通过浏览器打开主页时,它可以正常打开。但是,当我尝试在Selenium中通过webdriver()打开网页时,它会打开一个完全不同的页面。我认为,它能够检测到user-agent(不确定它叫什么)并且能够检查浏览器的属性或其他东西。是否可以通过webdriver()传递属性,以便加载正确的主页。谢谢 最佳答案 在python版本的webdriver中更改用户代理是通过更改浏览器的配置文件来完成的。我只通过传递配置文件参数为webdriver.Firefox()完成了此操