首页 > 其他分享 >Selenium10--查找一组元素

Selenium10--查找一组元素

时间:2022-12-11 22:13:53浏览次数:47  
标签:webdriver -- selenium driver Selenium10 查找 sleep import find

find_element方法

查找一个元素用find_element方法,返回一个webelement页面元素对象。

"""
	打开首页,关键字文本框反复输入,搜索后再次输入
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/index.php')
kw = driver.find_element(By.ID,'keyword')
kw.send_keys('a')
sleep(3) # 等待3秒
kw.clear()
kw.send_keys('b')
# driver.refresh() # 主动刷新页面
driver.find_element(By.NAME,'imageField').click() # 点击搜索后刷新
kw = driver.find_element(By.ID,'keyword')
kw.send_keys('c')

driver.quit() # 关闭浏览器

查找一组元素用find_elements方法,返回一个由页面元素对象所组成的列表。

 """
 	打开留言板,从第二个开始,依次点击留言类型里的每一个单选按钮
 """
 from selenium import webdriver
 from time import sleep
 from selenium.webdriver.common.by import By
 driver = webdriver.Firefox() # 启动浏览器
 driver.get('http://localhost/upload/message.php')
 a1 = driver.find_elements(By.NAME,'msg_type')
 for i in range(1,len(a1)):
     a1[i].click()
     sleep(2)
 sleep(3)
 driver.quit() # 关闭浏览器
"""
	打开首页,依次点击右上角的每一个超级链接(查看购物车、选购中心、标签云、报价单)
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/message.php')
list1 = driver.find_elements(By.CSS_SELECTOR,'li#topNav > a')
for i in range(1,len(list1)):
    list1[i].click()
    sleep(2)
    list1 = driver.find_elements(By.CSS_SELECTOR,'li#topNav > a')
sleep(3)
driver.quit() # 关闭浏览器

注意:

  • 定位到的元素,不论一个还是一组,都可以赋值给变量使用,但是一旦网页刷新,这个变量就会失效,无法使用。
  • 使用失效的变量,抛出异常StaleElementReferenceException。
  • 如果网页刷新后,想继续使用变量,必须重新定位和赋值。

标签:webdriver,--,selenium,driver,Selenium10,查找,sleep,import,find
From: https://www.cnblogs.com/sean-test/p/16974626.html

相关文章

  • k8s 架构
    k8s基本架构MasterNode:控制面的节点WorkerNode:干活的节点Master中的组件APIServer:APIServer是整个k8s集群的唯一入口。Etcd:持久化存储,存储集群中各种资源的......
  • k8s API
    Job-CronJobJob:临时离线任务CronJob:定时离线任务Yaml文件描述Job:apiVersion:batch/v1kind:Jobmetadata:name:...labels:k:vk:v......
  • k8s Pod
    Pod是k8s的核心对象Pod是在k8s中创造,管理的最小可部署计算单元。通常不需要直接创建Pod,k8s集群中Pod主要有两种用法:运行单个容器的Pod运行包含多个容......
  • 《MySQL必知必会》之快速入门游标和触发器
    第二十四章使用游标本章将介绍什么是游标以及如何使用游标游标之前的select语句检索出来的数据,没有办法得到第一行或者下一行有时,需要在检索出来的行中前进或后退一行......
  • ARMv7-A Coprocessor概要以及读写
     关键词:MRC/MCR/MRRC/MCRR、CP14、CP15等等。1.ARMv7-ACoprocessor介绍ARMv7-A支持16个Coprocessor,分别是:(A2.9Coprocessorsupport)CP15-SystemControl。CP14-D......
  • [Typescript] 134. Easy - Identity Helper
    import{Equal,Expect}from"../helpers/type-utils";typeIdentity<T>=T;typetests=[Expect<Equal<Identity<1>,1>>,Expect<Equal<Identity<"1">,"1......
  • Luogu 省选计划 #1
    整体二分CDQ分治问题2(P3527)一次模拟下雨是把所有国家的一起下了,不妨所有国家一起二分。二分定义域为时间轴,初始把所有国家都挂在\(k/2\)上,然后根据结果分别缩小......
  • SpringBoot源码2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,my
    阅读本文需要spring源码知识,和springboot相关源码知识对于springboot整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过系列文章目录和关于我涉及到spring......
  • [BUUCTF][WEB][极客大挑战 2019]PHP 1
    打开靶机URL看到字面提示因为每次猫猫都在我键盘上乱跳,所以我有一个良好的备份网站的习惯不愧是我!!!说明该网站有备份,说不定放在了Http服务器的某个目录下那么这里我们......
  • [Typescript] 135. Easy - Maybe helper
    import{Equal,Expect}from"../helpers/type-utils";typeMaybe<T>=T|null|undefined;typetests=[Expect<Equal<Maybe<string>,string|null|und......