python+selenium常见问题解决方式

Posted zww1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+selenium常见问题解决方式相关的知识,希望对你有一定的参考价值。

1、启动不了浏览器,报错如下:

============================= ERRORS =============================
Traceback (most recent call last):
File "D:\\python_files\\eclipse_wrokstation\\WinshareWebAotuTest\\TestCase\\testBookComments.py", line 16, in setUp
self.driver = webdriver.Chrome()
File "D:\\Program Files\\Python\\Python3\\lib\\site-packages\\selenium\\webdriver\\chrome\\webdriver.py", line 75, in __init__
desired_capabilities=desired_capabilities)
File "D:\\Program Files\\Python\\Python3\\lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py", line 154, in __init__
self.start_session(desired_capabilities, browser_profile)
File "D:\\Program Files\\Python\\Python3\\lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py", line 243, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "D:\\Program Files\\Python\\Python3\\lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "D:\\Program Files\\Python\\Python3\\lib\\site-packages\\selenium\\webdriver\\remote\\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: unrecognized Blink revision: a10b9cedb40738cb152f8148ddab4891df876959
(Driver info: chromedriver=2.10.267521,platform=Windows NT 6.3 x86_64)

解决方式:

webdriver初始化的时候,指定一下浏览器的所在路径

在声明webdriver的时候加一句,再运行就可以了:

path = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe"

self.driver = webdriver.Chrome(executable_path=path)

2、根据定位找不到元素:

(1)可能情况一:因为当前浏览器的窗口切换了(新跳转了窗口)。

解决方法:在定位之前,先切换一下窗口

handles = driver.window_handles # 所有窗口
print \'*\'*20,handles
for handle in handles:
if handle!=driver.current_window_handle:
print \'switch to \',handle
driver.switch_to_window(handle)
print driver.current_window_handle # 打印窗口句柄 --名称
break

(2)可能情况二:因为当前定位的iframe变了。

解决方法:在定位之前,先切换一下frame

driver.switch_to_frame("rightFrame") 

 (3)可能情况三:运行太快,页面还未完全加载。

解决方法:在定位之前,先休眠1秒(或者多秒)

time.sleep(1)

 

 

以上是关于python+selenium常见问题解决方式的主要内容,如果未能解决你的问题,请参考以下文章

python selenium自动化登录错误解决

selenium的安装报错和解决

安装基于Python的Selenium包出现异常的问题寻求解决方法

python py__selenium.py

selenium基础(生成测试报告)

python+selenium鼠标click不生效解决方案