本文转至 http://www.51testing.com/html/11/n-3711311.html,作者对webdriver在Firefox中设置profile配置项挺熟的,是用Python实现,后续有时间用Java实现一下,先转过来Mark一下
1.selenium 在打开firefox后,发现程序‘死’那里了,不动了,后面的代码不执行,最后抛出异常说超时。 原因:这个主要原因selenium在运行时会在firefox中安装一个Firefox WebDriver的插件,如果firefox版本太高,比如最新的FF48版本,在48版本中,对于安装的插件要进行验证,没有经过验证的插件不会被运行,而且通过在firefox中输入about:config,设置xpinstall.signatures.required为true,同样也无法生效。 解决方案:很简单,用低版本的firefox把,比如firefox45,当然也请跟踪selenium的开发进度,目前正有个geckodriver的新版本开发过程中,不过当前这个时间点最好的办法是降低你的firefox版本。目前为止47.01是可以用的。 (请注意,本条记录时间为2016-08-07) 上代码便于说清楚,以下代码是正确无任何问题
#coding=utf-8 #运行环境配置 #主要配置firefox的profile文件是否可用 import os import sys from selenium import webdriver from selenium.common.exceptions import NoSuchElementException gourl='http://www.baidu.com/' #获得webdriver函数 def get_webdriver(): #定制firefox的profile文件 profileDir = r"d:\xiaoshuo\profile" profile1 = webdriver.FirefoxProfile(profileDir) #亲们重点关注这句就好,其他更多的不用关心 br=webdriver.Firefox(profile1) br.set_window_size(600,600) return br br=get_webdriver() br.get(gourl) |
from selenium import webdriver from selenium.common.exceptions import NoSuchElementException br=webdriver.Firefox() gourl='http://www.baidu.com/' br.get(gourl) try: xiaoyiye=br.find_element_by_link_text(u'下一页') #找到要做的事情 except NoSuchElementException: #找不到异常处理 print "no next page" |
原文地址:https://www.cnblogs.com/pythonClub/p/10447165.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。