selenium firefox-profile and ie displayed错误

对于firefox,selenium每次默认匿名启动。

如果想用自己配置好的firefox,可以保存firefox的profile,每次firefox启动加载配置好的profile。

1.在运行中输入“firefox -p”在弹出的对话中点选择用户点击下一步按照提示完成。

2.在脚本中增加如下两行代码:路径为profile保存的位置。

image

对于ie,selenium每次启动都是本机中ie本来的配置,不会以默认匿名启动。

ie中执行脚本,遇到如下错误:

image

原来是打开页面,需要等待一段时间,才能加载到需要定位的元素。

cdn加速

一.cdn加速

其实就是代理和缓存,加快网站访问速度的一种技术。

代理用squid

1.安装squid

clip_image002

2.配置squid,在/etc/squid(也可能是/usr/local/etc/squid)目录下,有squid.conf配置文件,备份squid.conf,然后新建一个squid.conf.

clip_image004

Squid有如下内容:

clip_image006

3.创建squid使用硬盘缓冲区的目录结构

clip_image008

clip_image010

目录的名称是16进制每个16进制底下又是一堆16进制的目录,缓存一般都这么做,找起来比较方便。比如hash(‘某url’)=‘1A2B3C’,那么这个数据就存在1A/2B/3C。

将ie的代理设置如下:

clip_image012

然后访问百度,用代理访问百度成功。说明代理服务器已经搭建成功。

clip_image014

借助cdn访问web站点。

1. 在pc10.14.14.6上搭建的站点如下:

我给这个站点自己取了一个域名为:mg.test.gps

clip_image016

2.配置本机及访问该

clip_image018

2. 配置代理服务器:

clip_image020

3. 配置代理服务器的hosts

clip_image022

在10.14.56.8上访问mg.test.gps,可以正常访问。

clip_image024

在web服务端抓包,可以看到x-Forwarded-For字样。

clip_image026

可能出现的问题:

1. 创建硬盘缓冲区目录结构失败。

原因:用户squid和用户组squid不存在造成的。新建一下或者改成已经存在的用户。

clip_image028

2. 代理服务器无响应。如图。

clip_image030

首先查看,代理服务是否启动。

clip_image032

然后查看端口是否被监听。

clip_image034

如果服务正常启动,且端口监听的情况下,在使用代理的pc端telnet 代理ip地址 端口号。

clip_image036

连接失败,在代理服务器上关闭防火墙,或者设置防火墙规则允许8080端口。

service iptables stop

iptables -I INPUT -p tcp –dport 8080 -j ACCEPT

3. 启动squid无报错,服务启动正常,但端口一直没有监听。

查看硬盘缓冲区目录的所有者是否和配置文件写的一致。

clip_image038

clip_image040

selenium之错误处理(一)

今天执行selenium的一个简单脚本时,居然报错了,之前都是好着的。

image

网上查了查,说是selenium的版本太低了,火狐版本比较高造成的,下载最新版本可以解决这个问题。

而我看了看自己的版本,已经是最新版本了。

image

期间我升级过火狐,现在已经firefox30.0了,可能是火狐版本太高造成的。

没有火狐的低版本,于是我就用ie实验一下。没想到ie也报错了。

https://code.google.com/p/selenium/downloads/list?can=1&q=ie&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount下载了

image 解压后放到c:Python27

运行后,报错如下:

Message: u’Unexpected error launching Internet Explorer. Protected Mode sett

然后:

IE安全保护都去掉:   internet选项——安全
internet-启用保护模式 勾去掉
本地internet-启用保护模式 勾去掉
可信站点-启用保护模式 勾去掉
受限站点-启用保护模式 勾去掉 

运行后,结果如下:

image

image

调整浏览器缩放的大小,为百分之百,不缩放。

再次执行,可以执行成功,无报错。

火狐的版本 应该是selenium不支持火狐30.0以上的版本。

web.py

image

import web 没有报错,说明安装成功.

image

import web
urls = (
    ‘/(.*)’, ‘hello’
)
app = web.application(urls, globals())

class hello:       
    def GET(self, name):
        if not name:
            name = ‘World’
        return ‘Hello, ‘ + name + ‘!’

if __name__ == “__main__”:
    app.run()

 

运行脚本.环境搭建成功.

image

image