51Testing软件测试论坛

标题: Python中使用WebDriver启动浏览器的问题 [打印本页]

作者: caizhenkun    时间: 2013-1-5 16:18
标题: Python中使用WebDriver启动浏览器的问题
本人在配置好Python-Webdriver环境后遇到一些问题。
机器操作系统为32位WinXP。

配置过程如下(网上能搜到很多):
1. 下载最新的python 2.7.3(python.org/ftp/python/2.7.3/python-2.7.3.msi),并双击安装。安装完毕把C:\Python27加入环

境变量Path。
2. 下载setuptools(pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-

py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20),并双击安装。
3. 下载pip(pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz),解压后命令行下用Python setup.py install安装。

安装完毕把C:\Python27\Scripts加入环境变量Path。
4. 命令行下运行pip install -U selenium,安装最新的selenium包。

之后新建一个test.py文件。
内容如下:
import time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium import selenium

myDriverVar = webdriver.Firefox()
#ChromeDriverPath = "chromedriver.exe"
#myDriverVar = webdriver.Chrome(executable_path=ChromeDriverPath)
print myDriverVar
time.sleep(1)
#IEDriverPath = "IEDriverServer.exe"
#myDriverVar = webdriver.Ie(executable_path=IEDriverPath)

print "qwerty"
try:
    myDriverVar.get("http://www.google.com/")
    print "abcdef"
except Exception, ex:
    print Exception, ex

'''
print "aaa"
seleniumObj = selenium("127.0.0.1", 44444, "*firefox", "http://www.alpha.pogo.com")
browser = seleniumObj
print browser
browser.start()
browser.open("http://www.google.com/")
print "bbb"
'''

执行结果为:
<selenium.webdriver.firefox.webdriver.WebDriver object at 0x00E9C6F0>
qwerty
abcdef
但是浏览器有问题。
如果是FireFox,浏览器窗口启动,但是地址栏为空,没有跳转到google页面的动作。
如果是Chrome或者IE,则屏幕上连浏览器窗口都没有。


注释掉第一部分,执行第二部分(selenium 1的那部分)。
一切都正常。

请问有人遇到过上述问题吗?如何解决?

谢谢~
作者: 909283    时间: 2013-1-6 13:33
围观 ,楼下来解答。  
作者: rogerliu0303    时间: 2013-12-14 10:17
必须用这个包么?
作者: yanfei_wu    时间: 2014-3-20 13:14
import time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium import selenium

myDriverVar &#61; webdriver.Firefox&#40;)
#ChromeDriverPath &#61; "chromedriver.exe"
#myDriverVar &#61; webdriver.Chrome&#40;executable_path&#61;ChromeDriverPath)
print myDriverVar
time.sleep&#40;1)
#IEDriverPath &#61; "IEDriver&#83;erver.exe"
#myDriverVar &#61; webdriver.Ie&#40;executable_path&#61;IEDriverPath)

print "qwerty"
try:
    myDriverVar.get&#40;"http://www.google.com/")
    print "abcdef"
except Exception, ex:
    print Exception, ex

这段代码应该Ok,firefox中可以打开google。
IEDriverPath
chromedriver
这两个你确认已经有啦吗?如果有
webdriver.Chrome&#40;executable_path&#61;'C:\\chrome\\chromedriver.exe')
使用绝对路径来启动chromedriver,使用完成后记得把这个进程杀掉,要不会一直累积。
作者: yanfei_wu    时间: 2014-3-20 13:20
webdriver.Chrome&#40;executable_path&#61;'C:\\chrome\\chromedriver.exe')
chromedriver和ie的要使用绝对路径,结束要记得杀掉进程。要不一直累积
myDriverVar &#61; webdriver.Firefox&#40;)
#ChromeDriverPath &#61; "chromedriver.exe"
#myDriverVar &#61; webdriver.Chrome&#40;executable_path&#61;ChromeDriverPath)
print myDriverVar
time.sleep&#40;1)
#IEDriverPath &#61; "IEDriver&#83;erver.exe"
#myDriverVar &#61; webdriver.Ie&#40;executable_path&#61;IEDriverPath)

print "qwerty"
try:
    myDriverVar.get&#40;"http://www.google.com/")
    print "abcdef"
except Exception, ex:
    print Exception, ex
这段代码使用Firefox打开google应该ok




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2