关于selenium各种操作语句(方便查询便携版)

2024-04-20 11:28

本文主要是介绍关于selenium各种操作语句(方便查询便携版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

定位方法 #功能from selenium import webdriver#载入驱动
from selenium.webdriver.common.by import By
#新版载入by,旧版的find_element_by_id语句一般会被划掉,然后给你提示说语句已淘汰,不过目前还是可以运行,只是代码不好看。#启动驱动的两种写法:
with webdriver.Chrome() as driverdriver=chromedriver.chrome()#八大基础定位
find_element(By.ID,'value')	#定位ID
find_element(By.NAME,'value')	#定位name
find_element(By.CLASS_NAME,'value')	#定位class
find_element(By.TAG_NAME,'value')	#定位tag功能标签
find_element(By.LINK_TEXT,'value')	#定位link
find_element(By.PARTIAL_LINK_TEXT,'value')	#定位局部link,模糊查找
find_element(By.CSS_SELECTOR,'value')	#定位CSS多属性组合
find_element(By.XPATH,'value')	#定位多属性组合#上下左右模糊定位法
above()	#定位到现元素上面的元素
below()	#定位到现元素下面的元素
toLeftOf()	#定位到现元素左面的元素
tpRightOf()	#定位到现元素右面的元素
near()	#定位到最多距现元素50个像素远的元素#输入、拖放、点击
find_element().send_keys("内容")	#定位并输入文本"source = driver.find_element(By.ID, ""source"")
target = driver.find_element(By.ID, ""target"")
ActionChains(driver).drag_and_drop(source, target).perform()"	#拖放功能find_element().click()	#定位并点击#创建、打开、网址、前进、后退、刷新以及读取页面标题
driver = webdriver.Chrome()	#创建Chrome浏览器对象
driver.get("https://example.org") 	#打开网页
driver.current_url	#获取当前网址
driver.back()	#按下浏览器的后退按钮
driver.forward()	#按下浏览器的前进按钮
driver.refresh()	# 刷新当前网页
driver.title	#从浏览器中读取当前页面标题#handle、跳转、关闭、退出、嵌网操作
driver.current_window_handle	#当打开一个新窗口时,获取该窗口的处理权"find_element().click()
driver.switch_to.window(window_handle)"	#当点击一个链接跳转到新窗口时,需要switch到新窗口"driver.switch_to.new_window('tab')
driver.switch_to.new_window('window')"	#创建新窗口并switch"driver.close()
driver.switch_to.window(original_window)"	#关闭一个窗口或tabdriver.quit()	#退出浏览器driver.switch_to.frame(1)	#Frames和Iframes,点击iframes中的按钮driver.switch_to.default_content()	#退出一个frame或frameset#窗口大小、位置、最大化、最小化、全屏
"size = driver.get_window_size()
width1 = size.get(""width"")
height1 = size.get(""height"")  "	#获取窗口大小driver.set_window_size(1024, 768)	#设置窗口大小"position = driver.get_window_position()
x1 = position.get('x')
y1 = position.get('y') "	#获得窗口位置driver.set_window_position(0, 0)	#设置窗口位置driver.maximize_window()	#最大化窗口driver.minimize_window()	#最小化窗口driver.fullscreen_window()	#窗口全屏#网页加载等待,还有一种流式等待没搞懂,这里忽略
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC#条件等待
"WebDriverWait(driver, timeout=3).until(some_condition) "	#显式等待网页加载完成
driver.implicitly_wait(10)	#隐式等待#警报处理、处理确认和处理提示
"river.find_element(By.LINK_TEXT, ""See an example alert"").click()
alert = wait.until(expected_conditions.alert_is_present())
text = alert.text
alert.accept()"	#处理警报"driver.find_element(By.LINK_TEXT, ""See a sample confirm"").click()
wait.until(expected_conditions.alert_is_present())
alert = driver.switch_to.alert
alert.dismiss()"	#处理确认"driver.find_element(By.LINK_TEXT, ""See a sample prompt"").click()
wait.until(expected_conditions.alert_is_present()
alert = Alert(driver)
alert.send_keys(""Selenium"")
alert.accept()"	#处理提示#HTTP代理
"PROXY = ""<HOST:PORT>""
webdriver.DesiredCapabilities.CHROME['proxy'] = {""httpProxy"": PROXY,""ftpProxy"": PROXY,""sslProxy"": PROXY,""proxyType"": ""MANUAL"",}"	#Http代理#三种加载方式
from selenium.webdriver.chrome.options import Options#载入optiions
options.page_load_strategy = 'normal'	#normal(网页完全加载)
options.page_load_strategy = 'eager'	#eager(只加载主页面,忽略表格、图像和子框架)
options.page_load_strategy = 'none'	#none(仅加载主页面)#镶嵌查找,叠中叠
driver.find_element(By.NAME, "q")	#查找元素"for e in elements:print e.text  "	#查找多元素变量.find_element(By.NAME, "q")	#从元素下查找单个元素"elements = element.find_elements(By.TAG_NAME, 'p')for e in elements:print e.text "	#从元素下查找多个元素"driver.find_element(By.CSS_SELECTOR, '[name=""q""]').send_keys(""webElement"")
river.switch_to.active_element.get_attribute(""title"")print attr"	#获取当前锚定元素#键盘组合操作
from selenium.webdriver.common.keys import Keys#载入keydriver.find_element(By.NAME, "q").send_keys("webdriver" + Keys.ENTER)	
#sendKeys输入+enter"driver.find_element(By.NAME, ""q"").send_keys(""webdriver"" + Keys.ENTER)
webdriver.ActionChains(driver).key_down(Keys.CONTROL).send_keys(""a"").perform()"	#keyDown 输入+enter,再ctrl+aaction.key_down(Keys.SHIFT).send_keys_to_element(search, "qwerty").key_up(Keys.SHIFT).send_keys("qwerty").perform()	#keyUp长按.Clear()	#clear清除内容

参考原文如下,有需要请转原文链接,写得很详细,本文主要为便捷查询所用,偏简略。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/whitedrogen/article/details/106216401

这篇关于关于selenium各种操作语句(方便查询便携版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920138

相关文章

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的