Python+selenium 中pycharm执行时错误集合

一.python selenium环境搭建

1)python安装

注意添加python.exe编辑器和配置环境变量

选择:Add python.exe to path

Entire feature will be install on local hard driver

验证:mysql>python

查看:版本号mysql>python -V

2)pycharm安装

。。。。。。。。。。。。。。。。。。

3)Selenium:在线安装

mysql>python -m  pip install selenium

验证:from selenium import webdriver  不报错就成功

查看:版本和保存放的位置 mysql>pip show selenium

 Python+selenium 中pycharm执行时错误集合_第1张图片

3)浏览器的配置

1. 浏览器安装好之后,下载对应浏览器版本号的驱动文件Geckodriver.exe并将它放在python的安装目录D:/proframe files/python35.

2. 火狐浏览器安装FireBug和FirePath两个插件:https://www.cnblogs.com/xiaowenshu/p/10774252.html

 Python+selenium 中pycharm执行时错误集合_第2张图片

3.注意:安装浏览器的版本号,低版本号的在安装完成之后要设置成“不自动检查升级”。

 

1. 无法导入import package

分析:既然这些类都在工程中,那么import不成功就是因为路径没对应,事实上是pycharm默认该项目的根目录为source目录,所以import使用绝对路径而不是相对路径的话,就会从项目的根目录中查找,而不是我们希望的其中的/src目录,所以import不成功。

修改:file–>setting–>project:server–>project structure->+Add Content Root找到package。

将放package的文件夹设置为source,这样import的模块类等,就是通过这些source文件夹作为根路径来查找,也就是在这些source文件夹中查找import的东西。

Python+selenium 中pycharm执行时错误集合_第3张图片

 

3.pip版本过低,需要更新

这个是当前使用的pip版本过低需要在线更新,在线下载并安装:doc命令行输入:Python -m pip install --upgrade pip

查看pip是否是最新版本: cmd > pip install selenium

扩展:在线安装各种包:mysql>pip install <包名>

列出已安装的包:mysql>pip list

 

 

4.Firefox和geckodriver驱动匹配问题

 描述:在执行打开Firefox浏览器的脚本时报错:如图

 Python+selenium 中pycharm执行时错误集合_第4张图片

 Python+selenium 中pycharm执行时错误集合_第5张图片

定位问题:之前用的是Firefox 48version和geckodriver 0.16.0 执行脚本时总报错,网上找解决方案。

解决:后来重新安装Firefox 55后,再次执行脚本,问题解决。

注意:geckodriver.exe文件存放的位置。放在python的安装目录下面/d:/Program File(x86)/python 3.5.2

Geckodrive下载地址https://github.com/mozilla/geckodriver/releases

补充:selenium之 chromedriver与chrome版本映射表(更新至v2.35)

http://npm.taobao.org/mirrors/chromedriver/

Python+selenium 中pycharm执行时错误集合_第6张图片

Chromedriver下载网址:http://chromedriver.storage.googleapis.com/index.html

5. xampp安装后 Apache和MySQL无法启动

 Python+selenium 中pycharm执行时错误集合_第7张图片

先查找80端口和443端口是否被占用:

mysql>netstat -ano,列出所有端口的情况。找到80端口对应的PID。

mysql>netstat -aon|findstr "80",分号里面是对应端口号,回车查看。

mysql>tasklist|findstr "pid"查看占用端口的程序。

备注:如果是端口被占用,可以找到占用的程序然后将其结束,或者通过xampp中Apache对应的config中的配置文件进行修改。Config--httpd.conf修改80端口,config--httpd-ssl.conf修改443端口。修改完后要保存TXT配置文件。

 

Cmd中运行 文件目录中的httpd.exe 报错:无效文件夹,文件路径的问题。

注意:安装路径不能有中文,文件夹名称不能有空格。

 

重装。ok

 

去掉编辑框中字符串下划线和波浪线,选择synatx,Esc退出

 Python+selenium 中pycharm执行时错误集合_第8张图片

Tab键设置

 Python+selenium 中pycharm执行时错误集合_第9张图片

 

6.安装路径问题

安装xampp和python后在使用过程中老是出现问题,在解决问题的过程中发现导致这些问题的原因都是因为文件路径的问题。比如:python下载的安装包自动安装在python的安装目录下(D盘),python默认创建的项目project是在C盘目录下的。在pycharm中编辑.py文件时,会使用编辑器和导入包等需求,而它在调用或是加载这些程序时默认选择相对路径(项目project所在路径)去寻找。然而这些程序都在python的安装目录下,那当然找不到了,所以就出现报错。同样的xampp也会出现路径的问题。

总结:在安装像这样的工程软件时最好:1.安装时安装位置选择默认;2.文件名称为字符串且不可以有空格;3.如果要安装在其他的盘(D盘)中,请一定记住在创建和工程有关的项目是路径一定放在其对应的安装目录下。

 Python+selenium 中pycharm执行时错误集合_第10张图片

 

7.提示please specify a different SDK name

 

分析:百度了好久没有解决方法,去Google上搜了搜发现,是因为我有两个*现有*虚拟环境具有相同的名称(即彼此相同;不同于我正在创建的那个)。删除其中一个之后,我就可以创建新的虚拟环境。

 Python+selenium 中pycharm执行时错误集合_第11张图片

Python+selenium 中pycharm执行时错误集合_第12张图片

请访问:http://blog.csdn.net/wu_l_v/article/details/79049718

 

 

8.pycharm中关于导入包和路径的问题

问题描述:通过cmd把所需用的包已经安装成功,但是在项目中却无法导入。

 Python+selenium 中pycharm执行时错误集合_第13张图片

问题分析:通过cmd安装的所有包所存放的位置都是在和python的安装路径相同的地方存放的。然而如果你新建的项目路径在不同的位置,则你新建的项目中的关联配置文件中将不会有你之前安装的包。如果要在新的项目中调用这些包就必须在新建的项目中添加包。

解决:选择add local...从本地添加(有时候在show all中也可以)

方式一:

 Python+selenium 中pycharm执行时错误集合_第14张图片

注意:要勾上那两个小勾,表示从安装的packages中寻找,我们通过cmd安装的所有调用包都在site—backages中。Base interpreter要选择python的安装目录。

 Python+selenium 中pycharm执行时错误集合_第15张图片

方式二:直接点击右侧红色的“+”,进入搜索需要调用的包,然后添加。

 Python+selenium 中pycharm执行时错误集合_第16张图片

9.python中在程序调用打开外面的文件时,路径正确的写法。

在单个测试unit中某个模块时,路径前面需要加上“..”表示接上一层目录。

在整体测试时要去掉点点。

10.pip install packages 安装超时Read timed out问题。(19.10.20)

Python+selenium 中pycharm执行时错误集合_第17张图片

     a.更新pip超时:解决  python -m pip install --upgrade pip -i https://pypi.douban.com/simple

     b.安装包超时:pip --default-timeout=100 install Package(安装的模块名)

11.报错:ImportError: cannot import name 'XXX' 

出现这个问题:路径问题或者是命名问题

路径问题:规范导入格式为 from xxx(包名) import XXX(导入的文件)。

命名问题:则隐藏的比较深,一般也是命名不规范造成的,就是你导入的包名可能和你这个包里面的一些文件时重命名的原因,要么改包名要么改那个文件名,这样就能解决。

 

 

 

你可能感兴趣的:(python)