为了使系统能够在不同浏览器下方便的使用,建立一个名为info.txt的文件,存储运行当前Selenium程序所用的浏览器名字。
Selenium3.X对浏览器的支持
class drivers:
def __init__(self):
f = open("info.txt","r")
driverPach = "C:\\Lib\\";
brower = f.readline()
f.close()
if brower.lower() == "ie":
driver = webdriver.Ie(executable_path=driverPach+"IEDriverServer.exe")
elif brower.lower() == "firefox":
driver = webdriver.Firefox(executable_path=driverPach+"geckodriver.exe")
elif brower.lower() == "chrome":
driver = webdriver.Chrome(executable_path=driverPach+"chromedriver.exe")
elif brower.lower() == "edge":
driver = webdriver.Edge(executable_path=driverPach+"MicrosoftWebDriver.exe")
else:
print("info.txt中的信息有误")
driver.maximize_window()
首先读取info.txt中运行当前Selenium程序所用的浏览器的名称保存在brower变量中,然后获得驱动程序目录位置(注意,在Python语言中\为转移符,所以需要\\来定义\)。然后根据brower的信息来判断使用哪个driver。为了通用型,把这段代码放到公共文件util.py中的drivers类的初始化方法中去。这样Selenium测试程序就可以通过以下代码在setUp方法中调用。
Selenium3.X初始化方法
def setUp(self):
d = drivers()
driver=d.driver
driver.implicitly_wait(driver,5)
driver.get(driver,"https://www.baidu.com")
setUp方法中首先获得驱动,然后设置隐式等待(后面会介绍),最后进入测试页面。