学习小狂欢,Python利用 Selenium实现案例

1、启动不同浏览器(firefox、google、ie)

一、启动firefox浏览器

不需要下载任何驱动,原生支持firefox,但要注意firefox浏览器的版本,如果出现启动firefox失败的情况,请降低或升级firefox版本。

1、firefox安装在默认路径,启动代码如下:

# -*- coding:utf-8 -*-

from selenium import webdriver

driver=webdriver.Firefox()

# 注意http不可以省略

url='http://www.baidu.com'

driver.get(url)

driver.close()

2、指定firefox的安装路径启动,代码如下:

# -*- coding:utf-8 -*-

from selenium import webdriver

import os

# firefox 实际安装路径

ffdriver = "C:\\Program Files (x86)\\\Mozilla Firefox\\firefox.exe"

os.environ["webdriver.firefox.driver"] = ffdriver

driver = webdriver.Firefox(ffdriver )

# 注意http不可以省略

url='http://www.baidu.com'

driver.get(url)

driver.close()

二、启动google浏览器

需要下载相应的驱动,下载地址:

http://chromedriver.storage.googleapis.com/index.html

参考代码如下:

# -*- coding:utf-8 -*-

from selenium import webdriver

import os

# chromedriver.exe 实际安装路径, 笔者这里放置在C盘根目录

googledriver = "C:\\chromedriver.exe"

os.environ["webdriver.chrome.driver"] = googledriver

driver = webdriver.Chrome(googledriver)

# 注意http不可以省略

url='http://www.baidu.com'

driver.get(url)

driver.close()

三、启动IE浏览器

需要下载相应的驱动,下载地址:

http://selenium-release.storage.googleapis.com/index.html

参考代码如下:

# -*- coding:utf-8 -*-

from selenium import webdriver

import os

# iedriver.exe 实际安装路径, 笔者这里放置在C盘根目录

iedriver = "C:\\iedriver.exe"

os.environ["webdriver.ie.driver"] = iedriver

driver = webdriver.Chrome(iedriver)

# 注意http不可以省略

url='http://www.baidu.com'

driver.get(url)

driver.close()

2、日志格式和级别控制

接下来我们看看如何控制日志的输出格式和日志级别。代码示例如下:

#-*- coding:utf-8 -*-

import logging

if __name__ == '__main__':

logging.basicConfig(level=logging.DEBUG, # 日志级别设置

format="%(asctime)s %(filename)s [line: %(lineno)d] %(levelname)s %(message)s",

datefmt='%a, %d %b %Y %H:%M:%S',

filename='mylog.log',

filemode='w'

)

logging.debug(u'这是debug级别日志记录')

logging.info(u'这是信息级别日志记录')

logging.warning(u'这是警告级别日志记录')

在当前目录下mylog.log文件中的内容为:

Mon, 20 Mar 2017 16:21:28 log.py [line: 14] DEBUG 这是debug级别日志记录

Mon, 20 Mar 2017 16:21:28 log.py [line: 15] INFO 这是信息级别日志记录

Mon, 20 Mar 2017 16:21:28 log.py [line: 16] WARNING 这是警告级别日志记录

3、日志输入定向

下面我们来看看如何把日志同时输出到console和文件中,代码示例如下:

#-*- coding:utf-8 -*-

import logging

if __name__ == '__main__':

logging.basicConfig(level=logging.DEBUG, # 日志级别设置

format="%(asctime)s %(filename)s [line: %(lineno)d] %(levelname)s %(message)s",

datefmt='%a, %d %b %Y %H:%M:%S',

filename='mylog.log',

filemode='w')

#####################################################

# 定义一个StreamHandler,将info级别的或更高级别的日志输出到标错错误

# 并将其添加到当前的日志处理对象

console = logging.StreamHandler()

console.setLevel(logging.INFO)

formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')

console.setFormatter(formatter)

logging.getLogger('').addHandler(console)

####################################################

logging.debug(u"这是debug日志记录")

logging.info(u'这是info日志记录')

logging.warning(u'这是warning日志记录')

在console中输出以下日志记录:

root : INFO 这是info日志记录

root : WARNING 这是warning日志记录

在当前目录下mylog.log文件中内容为:

Mon, 20 Mar 2017 17:32:43 log.py [line: 26] DEBUG 这是debug日志记录

Mon, 20 Mar 2017 17:32:43 log.py [line: 27] INFO 这是info日志记录

Mon, 20 Mar 2017 17:32:43 log.py [line: 28] WARNING 这是warning日志记录

在本示例中实现了根据不同需要,将不同级别的日志重定向输出至不同的目标。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180720A194I800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券