首页 > 编程知识 正文

python没有selenium(python3.7)

时间:2023-05-05 06:44:11 阅读:92382 作者:4862

一、构建Python环境

1、浏览Linux中的Python版本,可以在Python或python -V中查看。 因为我们的项目大多数使用的是Python3.x,所以我们用的是Python3的版本『

2、下载Python3.x进行解压

光盘/飞机/软件

运行wget 3359 www.python.org/FTP/python/3.6.5/python-3.6.5.tgz下载程序

将tar -zxvf Python-3.6.5.tgz解压到当前目录中

3、安装Python3.6.5

进入解压后的Python-3.6.5文件夹、cd Python-3.6.5

就这样执行

. /配置

发生错误时: configure : error : noacceptableccompilerfoundin $ path表示未安装正确的编译器。 在这种情况下,需要安装/升级gcc和其他从属软件包。

安装完成后,重新运行./configure

化妆

生产安装

经过长时间的等待后,安装完成后,运行python3 -V命令检查安装是否成功

4、将Python3.x设置为默认版本

查看当前python指向的连接、ls -al /usr/hldby | grep python

运行python命令,可以看到它指向python 2.7版

因此,如果要将缺省版本设置为3.x,请重命名原始python软链接。

运行mv/usr/HLD by/python/usr/HLD by/python.bak

此外,还将python命令指向python3: ln-s/usr/local/HLD by/python3/usr/HLD by/python

此时,确认python的版本。 掌上电脑- v

5、3.x升级结束后,请记住yum的配置文件。

/usr/libexec/urlgrabber-ext-down和/usr/hldby/yum的#! # #打/usr/hldby/python! /usr/hldby/python2.7就可以了。

二、安装赛扬

由于当前系统的缺省Python版本为3.x,因此可以直接运行pip安装命令来安装项目所需的扩展库。

1、查看pip版本、pip -V,如果版本低于18,则执行pip安装- -升级pip升级pip版本

如果发生ssl问题,请运行rpm -aq|grep openssl以查看openssl-devel文件是否存在。 如果没有安装yum install openssl-devel -y,请在安装成功后更改VI/opt/soft/python-3 .

# # _编码解码器_cncjk编码解码器/_编码解码器_ cn.c

# # _编码_hkcjk编码/_编码_ HK.c

# # _编码_ iso 2022编码/_编码_ iso 2022.c

# # _编码_日本广播公司/_编码_日本广播公司

# # _编码解码器_Krcjk编码解码器/_编码解码器_ KR.c

# # _编码解码器_twcjk编码解码器/_编码解码器_ tw.c

# # example-- includedforreferenceonly :

# # xxxx模块. c

# # another example-- the ' xx subtype ' moduleshowsc-levelsubtypinginaction

xx子类型xx子类型. c

# # socketmodulehelperforsocket (2)

_套接字模块. ctime模块. c

# # socketmodulehelperforsslsupport; you must注释输出其他

# socket line above,andpossiblyeditthesslvariable :

# # SSL=/usr /本地/SSL

_ssl _ssl.c

-duse_SSL-I$(SSL ) /

include -I$(SSL)/include/openssl

-L$(SSL)/lib -lssl -lcrypto

保存并退出后,重新安装Python:

cd /opt/soft/Python-3.6.5

make

make install

这时候在执行pip安装就可以了。

2、安装selenium

执行 pip install selenium 默认安装最新版本

三、启动项目遇到的问题

1、初始化driver没有指定Firefox驱动的路径

2、火狐浏览器版本与驱动不一致

查看:chromedriver与chrome版本对应表,firefox、geckodriver

https://www.cnblogs.com/jinxiao-pu/p/8682126.html

3、火狐版本不是最新的:

直接yum 安装:yum install firefox

4、

Q:selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status: 1

A:This error can come up when you are trying to run the browser in non-headless mode on a box that doesn't have a display (like an Ubuntu server).

查看运行目录的cat geckodriver.log火狐驱动日志

由于服务器没有图形界面,导致无法启动浏览器,尴尬,接下来就要解决图形界面的问题了,未完待续……

分割线###################################################################################

后续来了

本地UI自动化项目如何放到服务器上利用Jenkins定时执行呢?

百度了一下,有两种方案,一是PhantomJS,而是让前者失业的Chrome headless mode。

PhantomJS 是一个基于WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准:DOM 处理、CSS 选择器、SON、Canvas、和 SVG。PhantomJS可以用于页面自动化、网络监测、网页截屏以及无界面测试 等。

PhantomJS 最近被selenium放弃了,Chrome headless mode完全和有界面的Chrome一样,可以完美的替代Chrome。

一、选择无界面模式

那我们将项目部署到改如何选择呢?我分别尝试了两种模式。

1.第一次尝试用Chrome headless mode。

在本地调试成功,代码很简单:

opt = webdriver.ChromeOptions()

opt.add_argument('--headless')

opt.add_argument("--window-size=1920,1080")

driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=opt)

webdriver.ChromeOptions是谷歌专门做的headless mode驱动,可以代替Chrome,

一般情况下,我们调用谷歌浏览器只需要

driver = webdriver.Chrome(executable_path='./chromedriver')即可,区别在于增加了一个chrome_options参数,传入opt = webdriver.ChromeOptions()即调用headless mode。

本地运行项目,执行case成功,下一步把代码迁移到服务器,修改executable_path为服务器上驱动的路径,执行项目,需要在Linux服务器上安装Chrome,由于公司服务器都是centos,所以不好安装指定版本的Chrome,所以放弃……

2.尝试PhantomJS

直接将webdriver.PhantomJS()当做一种浏览器使用,类似webdriver.Firefox(),webdriver.Chrome();

其中executable_path为PhantomJS驱动的路径。

driver = webdriver.PhantomJS(executable_path='phantomjs-2.1.1/hldby/phantomjs')

本地运行项目,执行case成功。同样下一步把代码迁移到服务器,执行case,完美成功,

需要注意的一点是,页面加载可能不如本地快,所以有必要加一些等待时间来给页面加载。

所以要在服务器做无界面UI自动化测试,PhantomJS无疑是最简单的,也是依赖少的。

Jenkins上新建任务,AutoTest,设置git路径和账号密码。

二、Jenkins执行服务器UI自动化测试项目

增加构建Excute shell如下:

ssh root@IP "rm -rf /home/webapp/WebUI/Settle/*"

scp -r /root/.jenkins/workspace/settleWebUI/* root@IP:/home/webapp/WebUI/Settle

ssh root@IP "cd /home/webapp/WebUI/Settle&&python run_settle_all_test.py"

执行任务即可

二、遇到的问题

1.问题:服务器运行case,截图乱码

解决:由于服务器字体库,执行yum install bitmap-fonts bitmap-fonts-cjk即可

未完待续

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。