Selenium常用命令(python版)

日升时奋斗,日落时自省 

目录

1、Selenium

2、常见问题


1、Selenium

安装Python和配置环境没有涉及

注:如有侵权,立即删除

首先安装selenium包,安装方式很简单 pip install selenium 

注:我这里已经安装好了,所以没有显示安装过程,没有配置环境的安装会比较慢,可以自行网上找教程

安装好以后:

直接上手代码: selenium4版本的这里By需要我们去导包By的包,alt+enter快捷导包方便您一步到位

import time
from selenium import webdriver
from selenium.webdriver.common.by import By# 创建驱动连接  如果这部分报错 大部分情况驱动版本和浏览器版本是不一致的
driver=webdriver.Chrome()
# 这里给友友们提供一个 用来测试网页 仅仅提供简单测试
driver.get("https://www.saucedemo.com/")#selenium4 版本之后对于之前的 find_element_by_id这种类型是不兼容的
#现在find_element方法包含两个参数 我们比较常用就是 By.CSS_SELECTOR 类型 XPATH类型
#  以By.CSS_SELECTOR形式获取 用户元素 
element1=driver.find_element(By.CSS_SELECTOR, "#user-name")
# 返回元素 可以进输入内容  以下是输入内容
element1.send_keys("standard_user")
time.sleep(1)
#使用 XPATH 形式获得 元素 
element2=driver.find_element(By.XPATH, "//*[@id='password']")
element2.send_keys("secret_sauce")
time.sleep(1)
element3=driver.find_element(By.ID,"login-button")
#针对获取的元素进行点击
element3.click()
time.sleep(1)
element4=driver.find_element(By.ID,"react-burger-menu-btn")
element4.click()
# element5=driver.find_element(By.CSS_SELECTOR,"#about_sidebar_link")
# element5.click()
#窗口最大化 也就是全屏
driver.maximize_window()
time.sleep(1)
#不喜欢的友友 也可以使用自己喜欢窗口大小
# driver.set_window_size(1366,768)time.sleep(3)
driver.quit()

 注:selenium4版本兼容不了find_element_by_id这类型方法注意使用以上方法的进行元素获取

以下是比较常用的四个方法(两个参数哈)

driver.find_element(By.XPATH,'XPATH')   #路径方法进行获取
driver.find_element(By.CLASS_NAME,'CLASS_NAME')   #类获取元素
driver.find_element(By.CSS_SELECTOR,'CSS_SELECTOR')  #css选择器获取
driver.find_element(By.ID,'ID')   # id获取元素

如何获取参数:F12 获取元素 先找到元素的位置,右击-》复制-》选择你使用元素获取方式

注:selenium4使用是比较简单的,希望看到这里能帮你快速上手

2、常见问题

(1)浏览器驱动------浏览器版本上是一致的,不一致会报错

(2)有时候获取元素的时候,友友可能觉得复制过来的css或者xpath都是对的但是就是获取不到

暂时我发现的有两个问题:

I  :  html没有加载出来需要稍微缓冲一下(但是此时就需要考虑为什么会这么慢了)

缓冲的等待固定时间time.sleep(3)  表示等待3秒,以秒为单位

II :窗口大小比较小,所以此时可以尝试窗口最大化尝试获取元素是否可以

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/14761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么一键消除路人?教你三个消除方法

怎么一键消除路人?在数字时代,摄影已成为我们记录生活、表达情感的重要方式。然而,完美的照片背后往往隐藏着一些不那么完美的元素——比如那些不经意间闯入镜头的路人。他们或许只是匆匆过客,但却足以破坏你精心构图的美好瞬间。…

分割文本文件

分割一个.txt文件,可以选择在命令行中使用split指令,或者编写一段脚本进行操作。以下是一个简单的Python脚本来分割文本文件: def split_file(file, lines):# Open source filewith open(file, r) as source:count 0atEOF Falsewhile not …

shell笔记脚本3

执行脚本文件demo2.sh, 观察打印VAR4效果 执行脚本文件后, 在交互式Shell环境打印VAR4, 观察打印VAR4效果 结论 全局变量在当前Shell环境与子Shell环境中可用, 父Shell环境中不可用 小结 自定义变量的分类 自定义局部变量: 就是在一个脚本文件内部使用 var_namevalue 自…

128天的创意之旅:从初心到成就,我的博客创作纪念日回顾

文章目录 🚀机缘:初心的种子——回望创作之旅的启航🌈收获:成长的果实——128天创作之旅的宝贵馈赠❤️日常:创作与生活的交织👊成就:代码的艺术🚲憧憬:未来的蓝图 &…

python3 pandas

pandas - Python Data Analysis Library

Mujoco仿真【xml文件的学习 3】

在学习Mujoco仿真的过程中,为了与时俱进,之前的mujoco210版本不再使用,改用了mujoco-3.1.4版本,下面继续mujoco仿真的学习! 先前关于mujoco的学习博客汇总如下: 强化学习:MuJoCo机器人强化学习…

2024最新(PC+WEB+IOS+Android)即时通讯系统客户端仿默往IM源码下载

2024最新(PCWEBIOSAndroid)即时通讯系统客户端仿默往IM源码下载(总大小约2.4G) 系统功能配置灵活、海量并发、稳定可靠、数据安全,2小时快速部署、数据安全、单聊群聊、系统通知等通信功能,支持App、PC、Web等多端快速接入。 群功能&#xf…

gtask笔记

1、创建Task GTask *g_task_new (gpointer source_object, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer callback_data); source_object:GObject对象,拥有者 cancellable:可否取消 callback:task完成后…

Linux 软件包管理器 yum的下载、功能介绍及使用

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 Linux下的三种软件安装方…

panic对defer语句的执行的影响

1.主线程中的panic会直接导致所有正在运行的go协程无法执行,还会导致声明在它之后的defer语句无法执行。 package mainimport ("fmt""time" )func main() {defer fmt.Println("defer1") //声明在panic之前的defer会执行go func() {defer fmt.Pri…

蓝桥杯Web开发【大赛大纲】15届

一、 组别 Web应用开发分为:大学组和职业院校组。 每位选手只能申请参加其中一个组别的竞赛。各个组别单独评奖。 研究生和本科生只能报大学组。 其它高职高专院校可自行选择报任意组别。 二. 竞赛赛程 省赛时长:4小时。 决赛时长:4小…

模板方法及设计模式——Java笔记

模板方法及设计模式 抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。 解决的问题: 当功能内部一部分实现是确定的,另一…

Android 启动页闪过白色背景

Android 启动页闪过白色背景 1.解决方式&#xff1a;为启动页设置主题。直接在manifest中设置android:style“style/StartTheme” <style name"StartTheme" parent"Theme.AppCompat.Light"><item name"windowActionBar">false</…

LeetCode:279.完全平方数

class Solution:def numSquares(self, n: int) -> int:dp[i for i in range(n1)]for i in range(2,n1):for j in range(1,int(i**(0.5))1):dp[i]min(dp[i],dp[i-j*j]1)return dp[-1]代码解释 初始化 DP 数组&#xff1a; dp [i for i in range(n1)] 这里&#xff0c;dp[i]…

五分钟”手撕“图书管理系统

前言&#xff1a; 图书馆管理系统需要结合JavaSE的绝大部分知识&#xff0c;是一个很好的训练项目。 为了让大家更加方便的查阅与学习&#xff0c;我把代码放开头&#xff0c;供大家查询。 还有对代码的分析&#xff0c;我将以类为单位分开讲解。 目录 全部代码 Main类 Us…

如何排查hpet导致的CPU高负载——《OceanBase诊断系列》之十

1. 前言 我在OceanBase问答社区协助用户排查了一个CPU占用率过高的问题&#xff0c;帖子原文是&#xff1a; 《刚刚新安装的OceanBase集群&#xff0c;没有任何数据&#xff0c;CPU占用非常高&#xff0c;这正常吗&#xff1f;》。从这个场景出发&#xff0c;来分享相关的诊断…

Rabbitmq-Windows 安装

第一步&#xff1a;下载并安装erlang &#xff11;.原因&#xff1a;RabbitMQ服务端代码是使用并发式语言Erlang编写的&#xff0c;安装Rabbit MQ的前提是安装Erlang &#xff12;.下载地址&#xff1a;http://www.erlang.org/downloads 3.双击&#xff0c;点next就可以 4.选…

Android 观察者模式(OBSERVER)应用详解

文章目录 1、观察者模式设计初衷1.1. 解耦对象之间的依赖关系1.2. 允许动态的依赖关系1.3. 自动通知和更新1.4 设计初衷的详细说明1. 对象之间的解耦2. 动态依赖关系3. 自动更新 2、实现细节2.1. Subject 接口和实现2.2. Observer 接口和实现2.3. 主类 3、主要角色4、关系示意图…

【minio】minio文件访问不到问题记录

问题描述&#xff1a; 项目上上传了logo&#xff0c;但是无法回写logo&#xff0c;但是文件minio路径已经返回&#xff0c;并且到minio服务器上也能下载文件&#xff1b; 解决方案&#xff1a; 1.排查Nginx的代理的minio是否正确 2.登录minio服务查一下文件路径policy是否设置访…

ubuntu下分屏工具tmux常用操作

参考&#xff1a;基于 Tmux 的多会话终端管理示例 | Linux 中国 - 知乎 安装 sudo apt-get install tmux Tmux 默认所有命令的前置命令都是 Ctrlb 创建会话&#xff1a;tmux new -s 会话名 查看 Tmux 会话清单: tmux ls #下面的-->表示然后 水平切割窗格:Ctrlb-->&…