Selenium 定位一组元素

到目前为止,我们已经知道了怎么去定位一个元素,有时候我们需要获取页面上的多个元素,该怎么办呢?难道还一个一个地去定位,那也太lower了吧。

webdriver提供了定位一组元素的方法,跟前面讲的那八种定位方法一样,只不过定位一个元素是单数:find_element,定位一组元素是复数:find_elements

我们以百度搜索结果页面为例。

在百度搜索框输入“selenium”,点击“百度一下”按钮,查看页面元素

从搜索结果的页面html代码可以看到,每条搜索结果的父元素有多个class属性(每个class属性以间隔符,就是那个空格隔开),且都含有t属性

分析完页面元素后,我们就可以用CSS或xpath来定位当前页面上所有的搜索结果了。

代码:

# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r‘D:\coship\Test_Framework\drivers\chromedriver.exe‘
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r‘https://www.baidu.com/‘)
driver.find_element_by_css_selector("#kw").send_keys("selenium")
driver.find_element_by_css_selector("#su").click()
# 等待3秒,待全部加载完搜索结果
sleep(3)
# 获取搜索结果
results = driver.find_elements_by_css_selector("h3.t>a")
# 搜索结果以列表形式返回
print("results",results)
for r in results:
    print(r.text)
# 退出
driver.quit()

原文地址:https://www.cnblogs.com/eastonliu/p/9100748.html

时间: 2024-10-14 09:36:14

Selenium 定位一组元素的相关文章

Selenium 定位网页元素

第一 定位元素辅助工具 IE中在元素上右击 ->  “检查元素”,或按F12键打开开发者工具: Chrome中在元素上右击 -> “审查元素”,或按F12键打开开发者工具: Firefox中在元素上右击 -> “检查元素”,或安装插件Firebug打开开发者工具: http://getfirebug.com/ Firefox中可以安装xPathChecker通过xpath定位页面上元素. https://addons.mozilla.org/zh-CN/firefox/addon/xpa

定位一组元素.py

from selenium import webdriverimport os,timedriver = webdriver.Chrome()driver.get("http://www.baidu.com")#选择页面上所有的tag name为input的元素inputs = driver.find_elements_by_tag_name("input") """通过tag name的定位方式很难定位到单个元素,因为元素标签名重名的

定位一组元素,点击一组中第几个按钮

def xunhuan2(self): lie = self.driver.find_elements_by_css_selector('li.fp14') liebiao = len(lie) for lie in range(liebiao): self.driver.find_elements_by_css_selector('li.fp14')[lie].click() sleep(3) self.driver.back() sleep(3) 1.定义循环函数2.定义变量,使用定位一组元

【Python】定位一组元素、

前几天生病加懒惰 TAT ========================================================================== 1.getAttribute()方法是一个函数.它只有一个参数--你打算查询的属性的名字: 2.http://www.cnblogs.com/fnng/p/3190966.html 注意路径 3. [Python]定位一组元素.,布布扣,bubuko.com

selenium学习:定位一组元素

文件名:checkbox.html <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <title>Checkbox</title> <link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css&

python selenum ---如何定位一组元素

使用findElements方法定位一组对象 定位一组对象一般用于以下场景: · 批量操作对象,比如将页面上所有的checkbox都勾上 · 先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象.比如定位出页面上所有的checkbox,然后选择最后一个 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <

Selenium定位HTML元素(Python)

本篇不是介绍通过各种方法(id, name, tag_name, css, xpath等)定位HTML各元素的普及性文章,网络上各种文档和博客介绍得均比较全面.这里只是将自己实践中,遇到的个别问题及解决方案进行记录. 在此推荐Selenium官方文档(Python版):http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html 可以搜索关键字,得到函数用法和源码. 下面记录定位HTML元素方面遇到的问题和解决方法(持续更新).

selenium - webdriver - 定位一组元素

八种方法: find_elements_by_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_link_text() find_elements_by_partial_link_text() find_elements_by_xpath() find_elements_by_css_selector() 实例: from selenium

【selenium学习笔记一】python + selenium定位页面元素的办法。

1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的浏览器,支持windows\linux\macos等各种平台. Selenium 脚本是用多种受支持的编程语言中的一种编写的 —— 目前可用的有 Java.Ruby 和 Python 驱动程序.这些脚本在浏览器之外的一个单独的进程中运行.驱动程序的任务是执行测试脚本,并通过与运行在浏览器中的 bro