系统类型:

[root@bogon home]# uname -a
Linux bogon 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

Python版本:

[root@bogon home]# python -V
Python 2.6.6

安装并配置vnc-server:

[root@bogon home]# rpm -ivh vnc-server-4.1.2-14.el5_3.1.x86_64.rpm

[root@bogon home]# rpm -qa | grep vnc
vnc-server-4.1.2-14.el5_3.1.x86_64

修改VNCServer主配置文件

[root@bogon home]# vim /etc/sysconfig/vncservers

复制最后两行并去掉行首注释符,然后修改为

VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry 1024x768"

设置VNCServer远程连接密码

[root@bogon home]# vncpasswd

输入两次相同的密码

启动vncserver服务

[root@bogon home]# /etc/init.d/vncserver start

上一步执行完毕会在root宿主目录下生成.vnc开头的隐藏目录,该目录下面的文件就是root用户的VNC桌面配置文件。打开xstartup配置桌面

[root@bogon home]# vim /root/.vnc/xstartup

将最后一行改为

gnome &

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome &

(使用GNOME桌面)

[root@bogon home]# /etc/init.d/iptables restart

设置vnc显示端口

[root@bogon home]# export DISPLAY=:1

安装pip工具:

https://pip.pypa.io/en/stable/installing/#installing-with-get-pip-py

下载源文件并安装:python get-pip.py

应用pip安装更新 selenium : (pip install selenium)

selenium (2.53.1)

更新Firefox的Linux版本:

第一步:到官网下载最新的安装包。

得到 Firefox-latest.tar.bz2

第二步:解压安装包。

[root@bogon home]# tar jxvf Firefox-latest.tar.bz2

获取firefox解压目录

第三步:替换原有Firefox版本

[root@bogon home]# cd /usr/lib64/

[root@bogon home]# rm -rf firefox

[root@bogon home]# cp -rf /home/firefox /usr/lib64/

[root@bogon home]# ln -s /usr/lib64/firefox/firefpx /usr/bin/firefox

第四步:重启使firefox生效或直接在图形界面打开firefox

[root@bogon home]# type firefox

  firefox is hashed (/usr/bin/firefox)

[root@bogon home]# firefox -v
Mozilla Firefox 45.0.1

Linux系统下Python2.6.6执行selenium可以避免终端上显示的问题,不必打开浏览器,可以在终端中显示执行selenium自动化的相关信息。

# coding = utf-8

import sys
import os
from selenium import webdriver
from selenium.webdriver.common import by

reload(sys)
sys.setdefaultencoding( "utf-8" )
os.system("export DISPLAY=:1")
if __name__ == '__main__':
  ff = webdriver.Firefox()
  ff.get("http://www.baidu.com")
  el = ff.find_element(by.By.ID, "kw")
  el.send_keys("wozijisun")
  ff.find_element_by_id("su").click()
  print(ff.title)
  print(ff.current_url)
  print(ff.page_source)
  print(ff.maximize_window())

  ff.quit()

Python2.6.6执行selenium自动化的更多相关文章

  1. Selenium2学习-036-WebUI自动化实战实例-034-JavaScript 在 Selenium 自动化中的应用实例之六(获取 JS 执行结果返回值)

    Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: /** * Get ...

  2. Jenkins自动化构建(一)执行selenium+python脚本

    Jenkins执行python写的selenium自动化脚本,通常会遇到,执行打不开浏览器,查看jenkins构建Console Output控制台输出信息,发现脚本是执行了的,但是出错了,打开浏览器 ...

  3. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  4. Python3 Selenium自动化web测试 ==> 第一节 起始点之Python单元测试框架 unittest

    前置步骤 Python版本:3.6.4 selenium版本:3.11.0 >>> import selenium >>> help(selenium) IDE:P ...

  5. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  6. Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)

    日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资 ...

  7. Selenium2学习-022-WebUI自动化实战实例-020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小)

    前几篇文章中简略概述了,如何获取.设置浏览器窗口大小,那么我们该如何获取浏览器显示区域的大小呢?此文讲对此进行简略概述,敬请各位小主参阅.若有不足之处,敬请各位大神指正,不胜感激! 获取浏览器显示区域 ...

  8. Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)

    通常在编写 Selenium 的 WebUI 自动化脚本时,有些元素不易定位元素,或有些元素为隐藏的(此时用 WebElement.getText() 获取其值的时候,返回的结果为空),对日常的 UI ...

  9. 总结Selenium自动化测试方法(一)自动化测试基础

    总结Selenium自动化测试方法 一.自动化测试基础 1.什么样的项目适合自动化测试 ①任务测试明确,不会频繁变动 ②每日构建后的测试验证 ③比较频繁的回归测试 ④软件系统界面稳定.变动少 ⑤需要在 ...

随机推荐

  1. 'Could not load NIB in bundle: 'NSBundle xxx/storeFlix.app> ' with name 'UIViewController-w6Q-ra-j06' and directory 'StoreFlixIpad.storyboardc

    1.此代码是从 git clone xxx 下载的. 2.使用 sourcetree 下载即可解决此问题.

  2. 关于多线程情况下Net-SNMP v3 版本导致进程假死情况的跟踪与分析

    1.问题描述 在使用net-snmp对交换机进行扫描的时候经常会出现进程假死的情况(就是进程并没有死掉,但是看不到它与外界进行任何的数据交互).这时候不知道进程内部发生了什么,虽然有日志信息,但进程已 ...

  3. thinkphp关联模型的用法

    HAS_ONE(值得注意的是,这是主动关联,外键必须是被关联的表): <?php namespace Home\Model; use Think\Model\RelationModel; cla ...

  4. CodeForces 219D 树形DP

    D. Choosing Capital for Treeland time limit per test 3 seconds memory limit per test 256 megabytes i ...

  5. 利用HTML5的一个重要特性 —— DeviceOrientation来实现手机网站上的摇一摇功能

      介绍之前做两个声明: 以下代码可以直接运行,当然你别忘了引用jQuery才行. <script> // DeviceOrientation将底层的方向传感器和运动传感器进行了高级封装, ...

  6. spring security使用数据库管理用户权限

    <authentication-provider> <user-service> <user name="admin" password=" ...

  7. jQuery 插件autocomplete

    jQuery 插件autocomplete 自动加载 参考: http://www.cnblogs.com/Peter-Zhang/archive/2011/10/22/2221147.html ht ...

  8. echarts一个页面动态加载两张不同图表数据

    参考 http://www.stepday.com/topic/?877 http://blog.csdn.net/for_china2012/article/details/45167161 // ...

  9. Java中this关键字的几种用法

    1 . 当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量.(this是当前对象自己) 如:public class Hello { String s = " ...

  10. javascript基础笔记

    1.获取元素:                 var box=document.getElementById("box");2.改变元素内容:                 b ...