#sample 1 Python 2,7 已经安装,可以正常跑,但是cx_oracle windows 版本下载下来,无法安装
https://pypi.org/project/cx-Oracle/5.3/#files
1.现在现在版本 cx_Oracle-5.3-11g.win-amd64-py2.7 (321.4 kB) 是5.3 版本,配套oracle 11g client ,配置windos 64 位的
2,安装报错如下:
Python version 2.7 required, which was not found in the registry
使用这个方法可以 手工注册 注册表,正常执行安装
https://www.cnblogs.com/min0208/archive/2012/05/24/2515584.html
#sample2 pycharm 创建一个Project 的虚拟环境时候hang 住3分钟,
因为是脱机环境,可能不能同步数据,可以考虑中断。
然后打开现有的目录,即可
#sample3 pycharm 需要手工配置解释器
Pycharm配置(1)——解释器(interpreter)
参考文档
https://blog.csdn.net/yuangan1529/article/details/80800411
今天导入模块,发现出了很多错,要升级pip,但是我发现在新建的工程项目(PycharmIDE)中有pip,而我安装的Python3中,也有pip ,那我升级哪一个呢?
1、首先,遇到的问题是:已经安装python,dos窗口却提示“python不是内部命令或外部命令,也不是可运行的程序”
解决方案:点击打开链接
2、发现两者都是一样的,都是解释器(Project Interpreter)的问题
(1)什么是解释器
先说一下,什么是解释器,Python的解释器就是Python.exe,是用来解释运行你编写的Python代码的,我们下载的Python(无论是2版本,还是3版本)其实自带解释器和编译器,可以直接在命令行敲入代码,或者写一个文本,然后调用Python的解释器来执行也可以,而Pycharm则是一个IDE(主要是让我们编写程序更加方便,或者说看起来更加简单,不需要用文本或在dos窗口编写代码),但是Pycharm是不带Python解释器的,所以你要在安装Pycharm之前,安装好Python。
上图是我的pycharm运行所需要的外部库:所在位置是一个项目文件中(注意:我的Python3安装位置是D:\Python),然后我检查了一下Pycharm的运行环境:File——>Setting
上面列出的这个图,其实找的是我的项目文件Python编程所需要的项目解释器(Project Interpreter)在哪里,其配置是什么,可以看出,它的解释器就在项目文件下,而不是我安装的D盘中的Python3,那么我就要问了,既然创建项目的时候就有,我还安装Python3干什么?
原来这个问题,我之前遇到了(大约刚安装好Pycharm的时候吧),当时是这个问题:
一开始创建项目的时候,运行第一行代码,貌似是没有配置解释器的,那我当时是怎么配置呢?
还是上面的File——>Setting——>show all(在project Interpreter选项里面),点开以后得到:
点击加号,进行添加(我们看看这个配置的解释器和D盘里面的Python3有什么关系):点击加号以后,会有两个选项,一个是add Local Python Interpreter(这个其实就是你D盘里面的Python3,也就是本地的解释器),第二个是add remote Python interpreter,也就是远程的解释器(不在你的本地机器上,但是你可以远程访问它)
看到这个选项没有,这里说是虚拟环境,也就是说这是一个虚拟解释器,它是建立在D盘里面的Python解释器(第二个圆圈)基础之上的,这里的虚拟解释器在我理解来看,其实和缓存差不多,将要用到的东西放到项目文件夹中,用到的时候,直接调用邻近的,这样速度快,如果没有了,再去原解释器(D盘中),寻找需要的东西。
在网上找了一下关于解释器配置的几种不同说明,可以参考一下:pycharm下基于Virtualenvwrapper和anaconda的Python虚拟环境配置应用
上面提到这种虚拟环境,其实是起到隔离不同版本的Python的效果,virtualenv和conda是两种不同的虚拟隔离环境,当然这些我暂时还没有用到,就先不介绍了,conda用到的是Anaconda
(2)虚拟与基本解释器是否同步?
所以说一切的基础还是在D盘中的Python中,但是两者是同步的吗?
答案是不同步的,我在D盘的Python中安装了numpy模块,但是用虚拟解释器依然报错,只有在虚拟解释器(也就是你解释器的环境下,执行pip install才可以),再次更新一下,两者虽然是不同步的,但是更新下载的时候,只要D盘根解释器已经下载过了,那么虚拟环境中,就不需要联网下载了,可以直接复制D盘的模块,如下图:
上图,是我在D盘Python中下载numpy是,要联网下载关于numpy模块的包,但是我的虚拟解释器那边没有进行更新,但是我在虚拟解释器中下载安装numpy的时候,却非常简单:
如上图所示,没有下载文件,我猜测是直接复制粘贴的D盘中的内容
建议以后先在D盘的Python(我的base interpreter所在位置)安装模块,然后再在虚拟环境中安装,这样以后虚拟环境发生了改变,也可以快速再次安装
————————————————
版权声明:本文为CSDN博主「蓝亚之舟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuangan1529/article/details/80800411
####sample 4;
cx_Oracle 连接测试,参考文档
https://cloud.tencent.com/developer/article/1661831
# -*- coding:utf-8 -*-
import cx_Oracle
db = cx_Oracle.connect('dbmgr', 'dbmgr', '10.241.131.126:1521/pcrs')
# db = cx_Oracle.connect('C##oracle', 'oracle', '192.168.106.100:1521/orcl')
cursor=db.cursor()
# sql="SELECT COLUMN1, COLUMN2 FROM C##ORACLE.NEWTABLE"
sql="select du.username,su.password,du.profile,du.account_status
from dba_users du,sys.user$ su
where du.username in (select username from sys.t_user_cfg)
and du.username = su.name"
cursor.execute(sql)
result = cursor.fetchall()
for i in result:
print(i)
cursor.close();
db.close();
###
##sample 1:cx-oracle-lob 读取,for x 后面加入,
https://stackoverflow.com/questions/8646968/how-do-i-read-cx-oracle-lob-data-in-python
cx-oracle-lob 读取,for x 后面加入,
There should be an extra comma in the for loop, see in below code, i have supplied an extra comma after x in for loop.
dsn = cx_Oracle.makedsn(hostname, port, sid)
orcl = cx_Oracle.connect(username + '/' + password + '@' + dsn)
curs = orcl.cursor()
sql = "select TEMPLATE from my_table where id ='6'"
curs.execute(sql)
rows = curs.fetchall()
for x, in rows:
print(x)
Share
Edit
Follow
Flag
##sample 2:cx_Oracle模块学习之绑定变量
https://www.cnblogs.com/riskyer/p/3310676.html
cur.execute('''select * from departments
where department_id=:id and
department_name=:name
''',id=dept_id,name=dept_name
)
cursor.execute('''SELECT DBMS_METADATA.GET_DDL('TABLESPACE',:tname) FROM DUAL''', tname=t_name)
cur.execute('''insert into departments (department_id,department_name,manager_id,location_id)
values(:ID,:NAME,:MGR_ID,:LOC_ID)
''', {'ID':555,'NAME':'WaterBin','MGR_ID':110,'LOC_ID':7788}
)
#######sample 3 How to change values in a tuple?
https://stackoverflow.com/questions/11458239/how-to-change-values-in-a-tuple
t = ('275', '54000', '0.0', '5000.0', '0.0')
lst = list(t)
lst[0] = '300'
t = tuple(lst)
###sample 4
深入理解Python变量与赋值
https://blog.csdn.net/i6223671/article/details/100068214
##########sample 1
##sample python 替换文件内容
##参考https://www.cnblogs.com/milian0711/p/7132377.html python 2.7版本解决TypeError: 'encoding' is an invalid keyword argument for this function
###https://www.cnblogs.com/yujihaia/p/7468235.html python 文件内容修改替换操作
# -*- coding:utf-8 -*-
import os
import io
# 打开旧文件
f = io.open('file_text.txt','r',encoding='utf-8')
# 打开新文件
f_new = io.open('file_text_bak.txt','w',encoding='utf-8')
# 循环读取旧文件
for line in f:
# 进行判断
if "Good day is good day" in line:
line = line.replace('Good day is good day','hello,yanyan')
# 如果不符合就正常的将文件中的内容读取并且输出到新文件中
f_new.write(line)
f.close()
f_new.close()
#######
###sample 1 from doc https://www.it610.com/article/1293833117810892800.htm
cd e:\test_pymagic_boxvenvScripts>
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0-py2.py3-none-any.whl
or
python E:\test_pymagic_boxpackagePyMySQL-0.9.0PyMySQL-0.9.0setup.py install
cd E:\test_pymagic_boxpackagePyMySQL-0.9.0PyMySQL-0.9.0
step step
from doc https://www.it610.com/article/1293833117810892800.htm
根据输出日志,安装顺序如下,依次安装每个补丁:
Installing collected packages: enum34, asn1crypto, pycparser, cffi, idna, ipaddress, cryptography, pymysql
实际安装步骤如下:
(切换到 pip 路径,执行按安装)
cd e:\test_pymagic_boxvenvScripts>
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0asn1crypto-1.4.0-py2.py3-none-any.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0six-1.16.0-py2.py3-none-any.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0enum34-1.1.10-py2-none-any.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0pycparser-2.20-py2.py3-none-any.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0cffi-1.14.5-cp27-cp27m-win_amd64.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0idna-2.10-py2.py3-none-any.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0ipaddress-1.0.23-py2.py3-none-any.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0cryptography-2.6-cp27-cp27m-win_amd64.whl
pip install E:\test_pymagic_boxpackagePyMySQL-0.9.0-py2.py3-none-any.whl
#
#######sample 2 https://www.cnblogs.com/walk1314/p/7251126.html
python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。
查询系统默认编码可以在解释器中输入以下命令:
python代码
>>>sys.getdefaultencoding()
设置默认编码时使用:
python代码
>>>sys.setdefaultencoding('utf8')
可能会报AttributeError: 'module' object has no attribute 'setdefaultencoding'的错误。执行reload(sys),再执行以上命令就可以顺利通过。
此时再执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了。
有2种方法设置python的默认编码:
一个解决的方案在程序中加入以下代码:
Python代码
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
另一个方案是在python的Libsite-packages文件夹下新建一个sitecustomize.py,内容为:
Python代码
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。
###sample 1 python print 中文
解决pycharm中中文列表输出'xe5xa4xa7xe8x92x9c'之类的字符串
wqy94103 2017-08-09 20:42:29 19850 收藏 7
分类专栏: python 文章标签: python
版权
#coding=utf-8
member=["贝贝","晶晶","欢欢"]
print(member)
print("北京欢迎您!")
1
2
3
4
如上代码块,结果输出为:
[‘xe8xb4x9dxe8xb4x9d’, ‘xe6x99xb6xe6x99xb6’, ‘xe6xacxa2xe6xacxa2’]
北京欢迎您!
该怎么解决以上pycharm中的中文列表输出的编码问题呢?
其实,只需将代码中的‘print(member)’改为’print str(member).decode(‘string-escape’)‘即可
————————————————
版权声明:本文为CSDN博主「wqy94103」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wqy94103/article/details/77016578
##sample 2 python 变量 %c %s 的区别
https://zhidao.baidu.com/question/2017135013606924908.html
符 号
描述
%c
格式化字符及其ASCII码
%s
格式化字符串
%d
格式化整数
%u
格式化无符号整型
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度 如:%.2f
%e
用科学计数法格式化浮点数
%E
作用同%e,用科学计数法格式化浮点数
%g
%f和%e的简写
%G
%f 和 %E 的简写
%p
用十六进制数格式化变量的地址
'%c'%65:输出ASII码65对应的字符,对应的是'A'
“%c”是占位符的一种,还有%s %d 等等
%c指的是 字符及其ASCII码
65的ASCII码就是A
#####
##sample for python2
参考https://www.cnblogs.com/ming5218/p/7965973.html
https://blog.csdn.net/jihu0412/article/details/81030308
##for python3
原因:
在 Python 3.x 版本后,ConfigParser.py 已经更名为 configparser.py 所以出错!
解决办法:
cp /usr/local/python3/lib/python3.6/configparser.py /usr/local/python3/lib/python3.6/ConfigParse
##for python2
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('C:\tt\tt\test_py\magic_box\config\config.ini')
['C:\tt\tt\test_py\magic_box\config\config.ini']
##section 部分
print(config.sections())
['test', 'oracle', 'mysql']
##option 部分
r = config.options("mysql")
print(r)
config.get("mysql", "my_pass")
########### sample
https://www.cnblogs.com/kakaln/p/8192957.html#:~:text=%E5%9C%A8%E4%BD%BF%E7%94%A8pycharm%E6%97%B6%EF%BC%8C%E7%BB%8F%E5%B8%B8%E4%BC%9A%E9%9C%80%E8%A6%81%E5%A4%9A%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%90%8C%E6%97%B6%E7%BC%A9%E8%BF%9B%E3%80%81%E5%B7%A6%E7%A7%BB%EF%BC%8Cpycharm%E6%8F%90%E4%BE%9B%E4%BA%86%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%201%E3%80%81pycharm%E4%BD%BF%E5%A4%9A%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%90%8C%E6%97%B6%E7%BC%A9%E8%BF%9B,%E9%BC%A0%E6%A0%87%E9%80%89%E4%B8%AD%E5%A4%9A%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%90%8E%EF%BC%8C%E6%8C%89%E4%B8%8BTab%E9%94%AE%EF%BC%8C%E4%B8%80%E6%AC%A1%E7%BC%A9%E8%BF%9B%E5%9B%9B%E4%B8%AA%E5%AD%97%E7%AC%A6%202%E3%80%81pycharm%E4%BD%BF%E5%A4%9A%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%90%8C%E6%97%B6%E5%B7%A6%E7%A7%BB%20%E9%BC%A0%E6%A0%87%E9%80%89%E4%B8%AD%E5%A4%9A%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%90%8E%EF%BC%8C%E5%90%8C%E6%97%B6%E6%8C%89%E4%BD%8Fshift%2BTab%E9%94%AE%EF%BC%8C%E4%B8%80%E6%AC%A1%E5%B7%A6%E7%A7%BB
pycharm多行代码缩进、左移
在使用pycharm时,经常会需要多行代码同时缩进、左移,pycharm提供了快捷方式
1、pycharm使多行代码同时缩进
鼠标选中多行代码后,按下Tab键,一次缩进四个字符
2、pycharm使多行代码同时左移
鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符
########sample 1
##根据下载的顺序,倒叙安装
C:Python27Scripts>pip download faker
Collecting faker
Downloading https://files.pythonhosted.org/packages/35/28/0fbb15ffe79f1068211f6219b88dc817e5f6b455e23806e3d3a4699fd454/Faker-3.0.1-py2.py3-none-any.whl (977kB)
100% |████████████████████████████████| 983kB 181kB/s
Saved c:python27scriptsfaker-3.0.1-py2.py3-none-any.whl
Collecting text-unidecode==1.3 (from faker)
Downloading https://files.pythonhosted.org/packages/a6/a5/c0b6468d3824fe3fde30dbb5e1f687b291608f9473681bbf7dabbf5a87d7/text_unidecode-1.3-py2.py3-none-any.whl (78kB)
100% |████████████████████████████████| 81kB 217kB/s
Saved c:python27scripts ext_unidecode-1.3-py2.py3-none-any.whl
Collecting ipaddress; python_version < "3.3" (from faker)
File was already downloaded c:python27scriptsipaddress-1.0.23-py2.py3-none-any.whl
Collecting python-dateutil>=2.4 (from faker)
Downloading https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227kB)
100% |████████████████████████████████| 235kB 252kB/s
Saved c:python27scriptspython_dateutil-2.8.1-py2.py3-none-any.whl
Collecting six>=1.10 (from faker)
File was already downloaded c:python27scriptssix-1.16.0-py2.py3-none-any.whl
##for faker
cd e:\test_pymagic_boxvenvScripts
pip install E:\test_pymagic_boxpackagefakerpython_dateutil-2.8.1-py2.py3-none-any.whl
pip install E:\test_pymagic_boxpackagefaker ext_unidecode-1.3-py2.py3-none-any.whl
pip install E:\test_pymagic_boxpackagefakerFaker-3.0.1-py2.py3-none-any.whl
##for openpyxl
cd E: t est_pymagic_boxvenvScripts
python E: t est_pymagic_boxpackagefakeret_xmlfile-1.0.1et_xmlfile-1.0.1setup.py install
pip install E: t est_pymagic_boxpackagefakerjdcal-1.4.1-py2.py3-none-any.whl
cd E: t est_pymagic_boxpackagefakeropenpyxl-2.6.4openpyxl-2.6.4
E: t est_pymagic_boxvenvScriptspython setup.py install
##sampe 2
###sample 2 import openpyxl 报错如下:
报错如下:
import openpyxl
ImportError: No module named et_xmlfile
openpyxl.__version__
解决办法:
感谢 KiGiBoy https://www.cnblogs.com/ls11736/p/12398376.html
1.下载et_xmlfile,并解压,然后复制解压后的et_xmlfile,et_xmlfile.egg-info两个文件夹到site-packages下(E:peng est_pymagic_boxvenvLibsite-packages)
copy E:peng est_pymagic_boxvenvLibsite-packages
2.
cd E:peng est_pymagic_boxpackagefakeropenpyxl-2.6.4openpyxl-2.6.4
E:peng est_pymagic_boxvenvScriptspython setup.py install
##sample 3
python中无法创建包含中文路径的文件
https://blog.csdn.net/qq_34621987/article/details/80877210
2.原因:python中默认使用unicode编码,将一个包含中文的utf-8编码的字符串用于创建文件时会出现上图错误中的情况,
应该将encode('utf-8')去掉,或者在字符串前加上u,如 u"一张图片.jpg"
###########sample1
###sample 1
1.首先找到anaconda,运行一次,即使启动不成功,也没关系。
3.
在spyder 右下角的控制台中可以用!pip 使用pip命令:
!pip install 你要安装的模块
pip install faker
pip list
import faker
######sample 2
###sampl 2
3 spyder中debug的一些基本操作
F12是设置断点:
最上方总共有5个调试按钮,都是蓝色的,从左到右依次是:
进入调试;运行当前行;进入函数或方法内运行;跳出函数或方法;运行到下一个断点;退出调试。
我感觉还挺这些按钮的功能左右还对称的。
大概就这样吧,感觉这几个按钮用好了,调试起来效率非常高。
比如说在for循环里面,直接运行到下一个断点,就可以进入下一个循环,或者跳出循环等。
这个就要慢慢摸索了…
————————————————
版权声明:本文为CSDN博主「宇内虹游」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39278265/article/details/84963883
###########sample 3
3、按照程序员不同的需求进行调试。spyder中提供了调式面板,如图所示
其中第一个按钮是进行调试按钮,点击或者按Ctrl+F5就进入调式,程序到达你设置的第一个断点,这步是调式所必需的;第二个是单步调式按钮,点击或者按Ctrl+F10就可以在设置的断点之后单步调式;第三个按钮可以进入到光标所在句子中含有的函数体内部,或者按快捷键Ctrl+F11;第四个是从此函数中跳出;第五个是跳转到下一个断点;最后一个按钮是停止调试。
点击进行调试之后,可以在下图所示的地方看到变量信息。
#################sampl
https://blog.csdn.net/u012941152/article/details/83011110
Xpath (XML Path Language),是W3C定义的用来在XML文档中选择节点的语言
cols = len(jntua.find_elements_by_xpath('//*[@id="rs"]/table/tbody/tr[1]/th'))
从根目录/开始有点像Linux的文件查看,/代表根目录,一级一级的查找,直接子节点,相当于css_selector中的>号
/html/body/div/p
查找 所有 包含id=rs 的元素,下一级table ,下一级tbody,下一级tr
'//*[@id="rs"]/table/tbody/tr'
查找 所有 包含id=rs 的元素,下一级table ,下一级tbody,下一级tr,下一级th
'//*[@id="rs"]/table/tbody/tr[1]/th'))
找到所有 包含id=rs 的元素,下一级table ,下一级tbody,下一级tr[字符],下一级th[字符]
"//*[@id='rs']/table/tbody/tr[" + str(r) + "]/td[" + str(c) + "]"
####sample 3
selenium报错Message: This version of ChromeDriver only supports Chrome version xx
https://blog.csdn.net/qq_41605934/article/details/116330227
######sample 1
https://www.py.cn/tools/spyder/16326.html
怎么在spyder中建立工程?

yang
2020-02-12 12:37:592544浏览 · 0收藏 · 0评论
在spyder中建立工程的方法:(推荐:spyder使用教程)
1、Spyder项目的创建
新建一个Spyder项目需要点击Spyder上方标签栏中的Projects中的New Project选项。然后给项目取一个名字,选择一下项目存放的路径即可。
2、Spyder项目的打开
Spyder项目文件夹必须 存在.spyproject 这个文件夹,否则Spyder无法打开工程文件夹
Spyproject这个文件夹包含codestyle.ini encoding.ini vcs.ini workspace.ini 这几个配置文件
4,( 选择工具条的 project / open project 。这样就可以看到有右边的该项目文件的导航条)
##############
################sample 2 定位span 模块
https://blog.csdn.net/weixin_42346330/article/details/87093937
selenium如何定位span元素
test-runing 2019-02-12 16:02:48 24887 收藏 11
分类专栏: python+selenium自动化测试 文章标签: span元素定位 元素定位
版权
python+selenium自动化测试
专栏收录该内容
7 篇文章0 订阅
订阅专栏
在做自动化测试时,我们需要定位元素属性来进行操作,今天在做自动化时发现我要定位的登录注册元素找不到,我看了下代码发现,我用xpath获取绝对路径后,发现找不到,F12查看代码如下
代码如下
# _*_ coding: utf-8 _*_
from selenium import webdriver
import logging
import time
driver =webdriver.Chrome()
url="http:************ "
#driver.maximize_window()
driver.get(url) #进入兼职啦首页
time.sleep(2)
driver.find_element_by_xpath('//*[@id="J_site_login"]').click()
然后直接报错
原因:是因为它是内联函数,首先得定位到它的所在的模块。然后再进行定位内联函数
最后代码如下
最后俩行可以组合成一行
driver.find_element_by_xpath('/html/body/div[2]/div/div[4]/div/span//*[@id="J_site_login"]').click()
然后就
————————————————
版权声明:本文为CSDN博主「test-runing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42346330/article/details/87093937
########sample 3 获得标签的 绝对路径
https://blog.csdn.net/qq_33852206/article/details/108767757
# -*- coding: utf-8 -*-
"""
Created on Mon Jul 19 16:12:28 2021
""
#通过下拉菜单,和 平级别菜单 来判断 div
from selenium import webdriver
import time
driver = webdriver.Chrome(executable_path="E:logschromedriver_win32chromedriver.exe")
#url = 'http://www.baidu.com'
#driver.get(url)
#
##绝对路径定位
#input_absPath = driver.find_element_by_xpath('/html/body/div/div/div[5]/div/div/form/span/input')
#print('绝对路径定位',input_absPath.get_attribute('outerHTML'))
url = 'http://ai.com.cn'
driver.get(url)
#绝对路径定位
#input_absPath = driver.find_element_by_xpath('/html/body/app-root/app-login/div/form/div[4]')
input_absPath = driver.find_element_by_xpath('/html/body/app-root/app-login/div/form/div[4]/button/span')
print('绝对路径定位',input_absPath.get_attribute('outerHTML'))
########sample 4 IT桔子网模拟登陆,selenium定位type属性
https://www.cnblogs.com/kai-/p/13191377.html
selenium定位type属性
driver.find_element_by_css_selector('input[type="password"]').send_keys('Password')
from selenium import webdriver #用来驱动浏览器的
from selenium.webdriver import ActionChains #破解滑动验证码的时候用,可拖动图片
from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys #键盘按键操作
from selenium.webdriver.support import expected_conditions as EC # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素
driver = webdriver.Chrome()
driver.get('https://www.itjuzi.com/login?url=%2F')
# 方式一 Xpath
# driver.find_element_by_xpath('//*[@id="app"]/div[1]/div[2]/div/div/div/div/div[2]/div[1]/form/div[1]/div/div[1]/input').send_keys("jeremy.li@mioying.com")
# driver.find_element_by_xpath('//*[@id="app"]/div[1]/div[2]/div/div/div/div/div[2]/div[1]/form/div[2]/div/div/input').send_keys('Password')
# driver.find_element_by_xpath('//*[@id="app"]/div[1]/div[2]/div/div/div/div/div[2]/div[1]/div/button').click()
# driver.find_element_by_xpath('//form[@class="el-form"]/div/div/div/input').send_keys('jeremy.li@mioying.com')
# driver.find_element_by_xpath('//form[@class="el-form"]/div[2]/div/div/input').send_keys('Password')
# 方式二
driver.find_element_by_css_selector('.el-input__inner').send_keys('jeremy.li@mioying.com')
driver.find_element_by_css_selector('input[type="password"]').send_keys('Password')
############sample 4
selenium.元素定位(find_element_by)
https://www.cnblogs.com/youngleesin/p/10447907.html
from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.implicitly_wait(10) #隐形等待 driver.get('https://www.baidu.com/') sleep(1) #以五种定位方式定位到百度首页的搜索输入框 kw_find = driver.find_element_by_id('kw') #kw_find= driver.find_element_by_class_name('s_ipt') #kw_find= driver.find_element_by_name('wd') #kw_find = driver.find_element_by_xpath('//*[@id="kw"]') #kw_find = driver.find_element_by_css_selector('#kw') #id用#kw,class用.s_ipt ,与css的简写方式相同 #send_keys() 是selenium自带的方法,用来输入文本 kw_find.send_keys('selenium') #使用id定位方式定位到搜索按钮 su_find = driver.find_element_by_id('su') #click() 是selenium自带的方法,用来点击定位的元素 su_find.click() sleep(1) driver.quit()
#####sample 5 通过chrom 浏览器查找路径xpath的路径
https://www.cnblogs.com/lukechenblogs/p/10481000.html
selenium-百度搜索框输入后,定位联想下拉框元素 (重要)
/html/body/div[1]/div[1]/div[5]/div[1]/div/form/div/ul/li[1]
/html/body/div[1]/div[1]/div[5]/div[1]/div/form/div/ul/li[2]
<li data-key="123123交警官网app" class="bdsug-overflow">123<b>123交警官网app</b></li>
//*[@id="form"]/div/ul/li[2]
#举例如下:
1、输入关键字后,显示联想下拉框,鼠标右键对应的联想字段,点击检查,就可在F12模式下元素查看器中定位到,之后使用Xpath定位。 (重要)
elastic-job(lite)使用的一些注意事项
zookeeper典型应用场景之一:master选举
zookeeper学习笔记
spring-boot子模块打包的jar中去掉BOOT-INF文件夹
win10如何找回自带的照片查看器
Hbase shell详情
linux tar.gz zip 解压缩 压缩命令
Java中Volatile关键字详解
系统变量之System.getenv()和System.getProperty()
- 最新文章
-
ng-深度学习-课程笔记-14: 人脸识别和风格迁移(Week4)
ng-深度学习-课程笔记-13: 目标检测(Week3)
ng-深度学习-课程笔记-12: 深度卷积网络的实例探究(Week2)
ng-深度学习-课程笔记-11: 卷积神经网络(Week1)
使用PTGui软件将全景图变成鱼眼图
关于解决 python3.x 无法使用 PIL 库的解决方法
《Using Databases with Python》Week1 Object Oriented Python 课堂笔记
《Using Python to Access Web Data 》Week2 Regular Expressions 课堂笔记
《Python Data Structures》 Week6 Tuple 课堂笔记
Git 基本操作——创建仓库,本地、远程同步等