当前位置:首页 > 默认分类 > 正文内容

Python中的selenium库的基本用法

virtualman2年前 (2022-06-10)默认分类2457

Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。

通过此行代码可以快速在Python中安装selenium库

pip install Selenium

另外,我们仍需要安装浏览器驱动

Selenium3.x调用浏览器必须有一个webdriver驱动文件

Chrome驱动文件下载:点击下载chromedrive

Firefox驱动文件下载:点击下载geckodriver

首先是打开chrome浏览器并跳转到某个页面

chrome_options = Options()# “–no-sandbox”参数是让Chrome在root权限下跑    
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless')  # “–headless”参数是不用打开图形界面   
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.delete_all_cookies()  # 清除cookie    
login_url = ""    
driver.get(login_url)
# print("登录页面加载成功")

Selenium提供了8种定位方式,可以获取元素

  1. id

  2. name

  3. class name

  4. tag name

  5. link text

  6. partial link text

  7. xpath

  8. css selector

都可以通过

find_elements 或 find_element

实现获取,用法:

1. 找到所有满足条件的页面元素
driver.find_elements(By.XPATH, 路径)
2. 通过下标来选择第几个
driver.find_elements(By.XPATH, 路径)[0]
其中XPATH也可以换成name/class/id等等

甚至也可以使用选择器

参考博客:https://blog.csdn.net/weixin_36279318/article/details/79475388


相关文章

【Socket通信】关于Socket通信原理解析及python实现

【Socket通信】关于Socket通信原理解析及python实现

Socket(套接字)通信{网络通信其实就是Socket间的通信},首先了解下概念:【来源于百度百科】1"两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。"可以这么说,Socket就是一个网络编程的接口(API),它定义了一种标准,并对TCP/I...

【已解决】ubuntu16.04和Python3.5里的大坑

因为一些历史原因,几个服务器的系统都一直是ubuntu16.04,ubuntu16.04的python3的默认版本是3.5。而我这次配置python环境需要用到Pymysql配置成功后,然后直接运行,一直报错。我还一直尝试修改pymysql的代码,一度以为镜像站里的pymysql有错误。甚至跑去Gi...

【CSS】设置div底部边框阴影

div{       -webkit-box-shadow:0px 1px 1px #de1dde;       -moz-box-shadow:...

【疑难杂症】记录一次定位并修复涉及支付、转账的系统性BUG

【疑难杂症】记录一次定位并修复涉及支付、转账的系统性BUG

在某个线上的项目上,突然收到用户反馈,存在转账连续转两次的情况。一开始接到反款后并没有太在意,因为这个项目已经在线上稳定运行了近两年的时间,期间也并没有对订单或者支付系统进行修改。支付的接口也没有发生变化,因此,第一次反馈认为是一次用户的误报。但是,今天下午,有个开发者用户给我再一次反馈了这个BUG...

记录一次如何自己使用国外服务器搭建梯子

记录一次如何自己使用国外服务器搭建梯子

机缘巧合之下,租了一台亚马逊的美国服务器,想着这么大的服务器不能就跑一个业务吧,得利用起来,于是,就开始了搭建梯子之旅。 第一步:使用root账号登上ssh服务器。 第二步:执行一键搭建脚本: bash <(wget -qO- -o- https://git.io/v2ray.sh)...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。