Python中selenium的使用问题

selenium模块

selenium安装与应用

个人使用的是Python3.7,在Pycharm软件里面命令行Terminal中输入pip install selenium完成安装,然后在file->Setting->Project interpreter中导入selenium模块

webdriver安装

这个我是在网上找到的chromedriver镜像地址,
http://npm.taobao.org/mirrors/chromedriver/,在里面找到和你chrome对应的版本,我由于刚更新过chrome,没有找到完全一致的,就找了其中大版本相对应的文件,完全可以运行,然后将下载好的chromedriver.exe文件放入Python37中的Scripts里面即可。

selenium常用定位方法

需要注意的是,我刚开始看的教程视频使用的selenium版本过于老旧,与新版本语法不一致,导致了各种报错。

新版本旧版本
self.find_element(By.ID," ")self.find_element_By_ID(" ")
self.find_element(By.XPATH," ")self.find_element_By_XPATH(" ")
self.find_element(By.CLASS_NAME," ")self.find_element_By_CLASS_NAME(" ")
self.find_element(By.LINK_TEXT," ")self.find_element_By_LINK_TEXT(" ")
self.find_element(By.PARTIAL_LINK_TEXT," ")self.find_element_By_PARTIAL_LINK_TEXT(" ")
self.find_element(By.CSS_SELECTOR," ")self.find_element_By_CSS_SELECTOR(" ")

注:self = webdriver.Chrome()
另外新版本的大小写需要区分,旧版本的我参考了其他人的代码似乎没有进行区分,其中LINK_TEXT适用于超链接的具体文本搜索,PARTIAL_LINK_TEXT适用于超链接的模糊搜索

函数作用
self.find_element(," ").click()点击查询到的元素的位置
self.find_element(," ").send_keys(xxx)将你的文本输入到查询到的元素的位置,如账号和密码等
self.find_element(," ").clear()清空查询到元素位置的内容

由于刚开始接触,目前就暂时用到了这些。

selenium的使用

由上面可以看出,其是通过HTML的ID,CLASS等分类进行查找的,我们需要做的就是找到网页HTML中的这些值,然后用其来进行查询,需要注意的是部分网页中的ID可能是动态ID,CLASS可能会重复从而导致报错或者选择的不是你想要的元素。
我个人认为比较有用的几个方法:

  1. XPATH中的contains方法:
self.find_element(By.XPATH,"//文件名称[contains(text(),'文本内容')]")
  1. XPATH中的多种条件相与进行筛选
self.find_element(By.XPATH,"//文件名称[@name = 'xx' and @ID = 'xx' and @class = 'xx']")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值