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

Python中的selenium库的基本用法

virtualman4年前 (2022-06-10)默认分类4045

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


相关文章

【NOIP初赛 】哈夫曼树

【NOIP初赛 】哈夫曼树

根据我已刷的初赛题中基本每套的倒数第五或第六个不定项选择题就有一个关于哈夫曼树及其各种应用的题,占:0—1.5分;然而我针对这个类型的题也多次不会做,so,今晚好好研究下哈夫曼树;  概念:  给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二...

【算法】机器学习算法之Kmeans算法(K均值算法)

Kmeans算法(K均值算法)KMeans算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。如何定义两个样本的相似:两个样本在欧式空间中的距离引入新概念:Cluster:...

python实现对简单的运算型验证码的识别【不使用OpenCV】

python实现对简单的运算型验证码的识别【不使用OpenCV】

最近在写我们学校的教务系统的手机版,在前端用户执行绑定操作后,服务器将执行登录,但在登录过程中,教务系统中有个运算型的验证码,大致是这个样子的: 下面我们开始实现这个验证码的识别。1、图片读取从网站上下载大量同类型的验证码,人工标记上每个验证码的识别结果2、图片灰度化、二值化灰度化,在RGB模型中...

【JavaScript】JS的四种函数(function)声明方式

方法一:var foo01 = function() {        var temp = 100;    &nbs...

【已解决】Window命令行报错:无法加载文件,因为在此系统上禁止运行脚本。

错误:无法加载文件 D:\Program Files\nodejs\tsc.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 解决方法:...

大佬推荐用的两个git指令:git rebase 和 git commit --amend

git rebase git rebase 命令用于将本地的提交重新应用到另一个基础分支上。它可以帮助你保持线性的项目历史记录,避免大量的合并提交(merge commits)。当你从一个分支拉取最新的更改并希望将你的工作基于这些更改之上时,可以使用 git rebase。 使用场景: 当...

发表评论

访客

看不清,换一张

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