selenium4.0中常见操作方式50条
前阵子升级了py3.9,一些常年陪伴的库也都做了升级,不少命令也更新了,适度更新一下记忆。
1. 打开浏览器:`driver = webdriver.Chrome()`
2. 访问网址:`driver.get("Example Domain")`
3. 获取当前网址:`driver.current_url`
4. 获取页面标题:`driver.title`
5. 获取页面源码:`driver.page_source`
6. 刷新页面:`driver.refresh()`
7. 前进:`driver.forward()`
8. 后退:`driver.back()`
9. 等待元素出现:`WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my-element")))`
10. 等待元素可点击:`WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "my-element")))`
11. 查找元素:`driver.find_element(By.ID, "my-element")`
find_element_by_id(id)
:根据元素的 ID 来查找元素。find_element_by_name(name)
:根据元素的 name 属性来查找元素。find_element_by_xpath(xpath)
:根据元素的 XPath 来查找元素。find_element_by_link_text(link_text)
:根据元素的链接文本来查找元素。find_element_by_partial_link_text(partial_link_text)
:根据元素的链接文本的一部分来查找元素。find_element_by_tag_name(tag_name)
:根据元素的标签名来查找元素。find_element_by_class_name(class_name)
:根据元素的 class 属性来查找元素。find_element_by_css_selector(css_selector)
:根据元素的 CSS 选择器来查找元素。
12. 查找多个元素:`driver.find_elements(By.CLASS_NAME, "my-element")`
13. 单击元素:`element.click()`
14. 输入文本:`element.send_keys("text")`
15. 清除文本:`element.clear()`
16. 获取元素文本:`element.text`
17. 获取元素属性:`element.get_attribute("attribute-name")`
18. 设置元素属性:`element.set_attribute("attribute-name", "value")`
19. 滚动到元素:`driver.execute_script("arguments[0].scrollIntoView();", element)`
20. 获取元素位置:`element.location`
21. 获取元素大小:`element.size`
22. 获取元素是否可见:`element.is_displayed()`
23. 获取元素是否启用:`element.is_enabled()`
24. 获取元素是否选中:`element.is_selected()`
25. 提交表单:`element.submit()`
26. 切换到新窗口:`driver.switch_to.window("window-name")`
27. 切换到新标签页:`driver.switch_to.window("tab-name")`
28. 关闭当前窗口:`driver.close()`
29. 关闭所有窗口:`driver.quit()`
30. 设置隐式等待:`driver.implicitly_wait(10)`
31. 设置显式等待:`WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my-element")))`
32. 执行 JavaScript 代码:`driver.execute_script("script")`
33. 获取浏览器日志:`driver.get_log("browser")`
34. 获取页面截图:`driver.save_screenshot("screenshot.png")`
35. 设置超时时间:`driver.set_page_load_timeout(10)`
36. 设置脚本超时时间:`driver.set_script_timeout(10)`
37. 忽略 SSL 证书错误:`driver.service.ignore_ssl_errors = True`
38. 设置代理:`driver.service.proxy = "http://proxy.example.com:8080"`
39. 设置用户代理:`driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"})`
40. 设置窗口大小:`driver.set_window_size(1024, 768)`
41. 最大化窗口:`driver.maximize_window()`
42. 还原窗口:`driver.minimize_window()`
43. 退出浏览器:`driver.quit()`
44. 等待元素出现:`WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my-element")))`
45. 等待元素可点击:`WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "my-element")))`
46. 等待元素消失:`WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, "my-element")))`
47. 等待元素可见:`WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "my-element")))`
48. 等待元素不可见:`WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, "my-element")))`
49. 等待元素被选中:`WebDriverWait(driver, 10).until(EC.element_to_be_selected((By.ID, "my-element")))`
50. 等待元素未被选中:`WebDriverWait(driver, 10).until(EC.element_to_be_selected((By.ID, "my-element")))`
相关文章:
selenium4.0中常见操作方式50条
前阵子升级了py3.9,一些常年陪伴的库也都做了升级,不少命令也更新了,适度更新一下记忆。 1. 打开浏览器:driver webdriver.Chrome() 2. 访问网址:driver.get("Example Domain") 3. 获取当前网址ÿ…...
如何解决使用融云音视频时由于库冲突导致编译不通过的问题
音视频库里面使用了一些第三方库,比如 openssl,libopencore-amrnb 等第三方库,如果集成的过程中遇到冲突可以尝试这样修改: 1、在 Build Settings 中 Other Linker Flags 中把 -all_load 去掉; 2、如果遇到 openssl 库…...
ISP 基础知识积累
Amber:现有工作必要的技术补充,认识需要不断深入,这个文档后续还会增加内容进行完善。 镜头成像资料 ——干货满满,看懂了这四篇文章,下面的问题基本都能解答 看完思考 1、ISP 是什么,有什么作用ÿ…...
Android Studio新手实战——深入学习Activity组件
目录 前言 一、Activity简介 二、任务栈相关概念 三、常用Flag 四、结束当前Activity 五、Intent跳转Activity 六、更多资源 前言 Android是目前全球最流行的移动操作系统之一,而Activity作为Android应用程序的四大组件之一,是Android应用程序的核…...
[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-10奈奎斯特稳定性判据-Nyquist Stability Criterion
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-10奈奎斯特稳定性判据-Nyquist Stability Criterion Cauchy’s Argument Priciple 柯西幅角原理 结论: s s s平面内顺时针画一条闭合曲线 A A A, B B B曲…...
企业培训系统开发:构建灵活高效的学习平台
企业培训系统的开发在当今数字化时代是至关重要的。本文将介绍一些关键技术和代码示例,以帮助您构建一个灵活、高效的企业培训系统。 1. 技术选型 在开始企业培训系统的开发之前,首先需要选择合适的技术栈。以下是一个基本的技术选型示例:…...
2023秋电子科大信软 程算I 机考真题
基本情况 对应课程:程序设计与算法基础I 考试时间:2小时 题型:函数题编程题 函数题只需要完成期中一些(个)函数即可 编程题需要自己手动写main函数 提示:本次考试为全年级机考,分上下午场&am…...
Hive用户自定义函数之UDF开发
在进行大数据分析或者开发的时候,难免用到Hive进行数据查询分析,Hive内置很多函数,但是会有一部分需求需要自己开发,这个时候就需要自定义函数了,Hive的自定义函数开发非常方便,今天首先讲一下UDF的入门开发…...
Unity中URP下的线性雾
文章目录 前言一、线性雾 雾效因子二、MixFog1、ComputeFogIntensity 雾效强度计算2、雾效颜色混合 lerp(fogColor, fragColor, fogIntensity); 前言 在之前的文章中,我们实现了URP下的雾效支持。 Unity中URP下的添加雾效支持 在上一篇文章中,我们解析了 URP 下统…...
SpringBoot全局Controller返回值格式统一处理
一、Controller返回值格式统一 1、WebResult类 在 Controller对外提供服务的时候,我们都需要统一返回值格式。一般定义一个 WebResult类。 统一返回值(WebResult类)格式如下: {"success": true,"code": 2…...
程序媛的mac修炼手册-- 终端shell的驾驭 zsh vs bash
进入终端(Terminal)为新下载的应用配置环境,是Mac生产力up up的关键一步,更是编程小白装大神的第一步。Fake it till you make it , 硅谷大神标准路径~ shell的基本原理 为应用配置环境,相当于在应用和操作系统间架桥。由此&…...
基于PHP的校园代购商城系统
有需要请加文章底部Q哦 可远程调试 基于PHP的校园代购商城系统 一 介绍 此校园代购商城系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。(附带参考设计文档) 技术栈:phpmysqlbootstrapphpstudyvscode 二 功能 …...
感知与认知的碰撞,大模型时代的智能文档处理范式
目录 0 写在前面1 GPT4-V:拓宽文档认知边界2 大语言模型的文档感知缺陷3 大一统文档图像处理范式3.1 像素级OCR任务3.2 OCR大一统模型3.3 长文档理解与应用 4 总结抽奖福利 0 写在前面 由中国图象图形学学会青年工作委员会发起的第十九届中国图象图形学学会青年科学…...
ECMAScript和JavaScript的区别
ECMAScript和JavaScript之间的关系和差异可以从以下几个方面来理解: 定义: ECMAScript:ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通…...
[BUG]Datax写入数据到psql报不能序列化特殊字符
1.问题描述 Datax从mongodb写入数据到psql报错如下 org.postgresql.util.PSQLException: ERROR: invalid bytesequence for encoding "UTF8": 0x002.原因分析 此为psql独有的错误,不能对特殊字符’/u0000’,进行序列化,需要将此特殊字符替…...
用数据结构python写大数计算器
下面是一个基于Python的大数计算器的示例代码: class BigNumberCalculator:def __init__(self, num1, num2):self.num1 num1self.num2 num2staticmethoddef add(num1, num2):result carry 0len1, len2 len(num1), len(num2)max_len max(len1, len2)for i in …...
08.哲说建造者模式(Builder Pattern)
“The odds that we’re in ‘base reality’ is one in billions.” —— Elon Musk 这段话出自马斯克在2016年的一次演讲,“人类活在真实世界的几率,可能不到十亿分之一”。此言一出,可谓一石激起千层浪。有人嘲讽马斯克是“语不惊人死不休…...
ubuntu18.04查询实时内存、CPU占用率命令
gnome-system-monitor效果就是下面这样:...
Python计算圆的面积
Python 计算圆的面积 圆的面积公式为 : 公式中 r 为圆的半径。 # 定义一个方法来计算圆的面积 def findArea(r): PI 3.142 return PI * (r*r) # 调用方法 r float( input("请输入圆的半径:") ) print( "圆的面积为 %.3f&qu…...
(Java企业 / 公司项目)Nacos的怎么搭建多环境配置?(含相关面试题)(二)
上一篇讲了一个单体服务中配置,传统的Nacos配置但是在微服务架构当中肯定都是多环境下配置,比如生产环境,dev测试环境等等。 第一种方式模拟开始: 首先展示在生产环境中nacos如何配置,在模块下新建一个配置文件&…...
DolphinScheduler实际应用
前言 最近公司新启动了一个项目,然后领导想用一下新技术,并且为公司提供多个大数据调度解决方案,我呢就根据领导要求调研了下当前的开源调度工具,最终决定采用DolphinScheduler, 因此研究了一下DolphinScheduler &…...
P10 RV1126推流项目——ffmpeg输出参数初始化
前言 从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_C…...
正定矩阵在格密码中的应用(知识铺垫)
目录 一. 写在前面 二. 最小值点 三. 二次型结构 四. 正定与非正定讨论 4.1 对参数a的要求 4.2 对参数c的要求 4.3 对参数b的要求 五. 最小值,最大值与奇异值 5.1 正定型(positive definite) 5.2 负定型(negative defin…...
关于使用Selenium获取网页控制台的数据
背景: 需要获取网页的控制台的数据,如下图 在此文章将使用到 Pycharm 和 Selenium4 Pycharm安装 Selenium安装 from selenium import webdriver from selenium.webdriver.common.by import By import time# 创建浏览器对象 browser webdriver.Chro…...
vue2和vue3中的路由使用及传参方式
文章目录 vue2中使用路由Vue3 中使用路由路由传参方式 Vue 2 和 Vue 3 中的路由系统有很多相似之处,但也存在一些重要的区别。下面将分别介绍 Vue 2 和 Vue 3 中的路由使用方式,并了解下它们之间的不同之处。 vue2中使用路由 在 Vue 2 中,通…...
论文管理器
论文管理器 这个论文管理器仍然存在许多漏洞。目前,通过按照一些例行程序操作,它可以正常工作。我将在有时间的时候改进代码,提供详细说明,并添加新功能。当该管理器的代码进行优化后,我会上传到github上。 一个建立…...
postfix配置tls加密
1.编译安装 编译安装openss【卸载原有openssl,然后下载新的安装,因为postfix需要新版本openssl】编译安装postfix,下面这行命令 make -f Makefile.init makefiles CCARGS"-DHAS_MYSQL -I/www/server/mysql/include -DUSE_SASL_AUTH -I/usr/include…...
虚拟专线网络(IP-VPN)
虚拟专线网络(IP-VPN),因为它的安全性和可靠性。通过亚洲领先的 IP VPN 提供商。享受更高的可管理性和可扩展性,在多个站点之间交付 IP 流量或数据包,拥有亚太地区最大的 IP 骨干网。 1,保证正常运行时间,在网络链路发…...
【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:Uni…...
K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发
K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发 helm地址 rocketmq 3.0.2 sir5kong/rocketmq helm repo add rocketmq https://helm-charts.itboon.top/rocketmq helm pull rocketmq/rocketmq tar -xvf rocketmq-3.0.2.t…...
公司网站建设价格/阿里云域名注册官网
前言 纵观神经网络的发展历程,从最原始的MLP,到CNN,到RNN,到LSTM,GRU,再到现在的Attention机制,人们不断的在网络里面加入一些先验知识,使得网络不过于“发散”,能够朝着人们希望的…...
如果在阿里云上做自己的网站/苏州百度推广排名优化
首先查看系统的操作位数uname -a确定自己的系统位数一 、卸载自身yum #rpm -aq|grep yum|xargs rpm -e --nodeps 下载网易的centos的rpm包http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpmhttp://mirrors.163.co…...
中装建设有限公司/武安百度seo
foreach (char chr in input){//检查字母 if (char.IsLetter(chr)){countLetters;}//检查数字 if (char.IsDigit(chr)){countDigits;}//检查标点if (char.IsPunctuation(chr)){countPunctuation;}}转载于:https://www.cnblogs.com/pnljs/archive/2011/10/12/2208375.html...
做网站写的代号好跟不好的区别/如何建立一个自己的网站
前言 加油 原文 员工培训常用会话 ❶ When is our training session? 我们的课程培训在什么时候? ❷ You shouldn’t be absent at training sessions. 你不能缺席课程培训。 ❸ You should follow these rules and regulations. 你应该遵守这些规章制度。 ❺ The staff…...
自己做的网站怎么让别人能访问/宣传推广策略
1、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:侦察兵A和B两人中至少去一人; ab>1(由于每个队员有两种状态:去与不去,假设不去为0&…...
wordpress如何配置opcache/百度网盘app下载
常用的字符串对象一般有如下:String,StringBuffer和StringBuilder 01-创建方式: 1,String类型: 面试官:下面这段代码创建几个常量? String str"hello!"; strstr"world";回答&#…...