selenium的 元素定位、元素信息、交互
- from selenium import webdriver
- # 对应chromedriver.exe的位置
- path = r'D:\Chrome\Application\chromedriver.exe'
# 创建浏览器操作对象
browser = webdriver.Chrome(path)- # 要访问的url
- url = 'https://www.baidu.com'
# 发起访问
browser.get(url)- # 元素定位
- # 根据id来找到对象
- # button = browser.find_element_by_id('su')
- # print(button)
- # 根据标签属性的属性值来获取对象的
- # button = browser.find_element_by_name('wd')
- # print(button)
- # 根据xpath语句来获取对象
- # button = browser.find_elements_by_xpath('//input[@id="su"]')
- # print(button)
- # 根据标签的名字来获取对象,带s 返回是数组元素
- # button = browser.find_elements_by_tag_name('input')
- # print(button)
- # 使用的bs4的语法来获取对象
- # button = browser.find_elements_by_css_selector('#su')
- # print(button)
# 获取对应链接中的文本- # button = browser.find_element_by_link_text('直播')
- # print(button)
- from selenium import webdriver
- # 启动路径
- path = r'D:\Chrome\Application\chromedriver.exe'
- browser = webdriver.Chrome(path)
- url = 'http://www.baidu.com'
- browser.get(url)
# 借助id唯一,获取对应id的元素- input = browser.find_element_by_id('su')
- # 获取元素标签的属性
- print(input.get_attribute('class')) # bg s_btn
# 获取标签的名字- print(input.tag_name) #input标签
- # 获取元素文本
- a = browser.find_element_by_link_text('新闻') #新闻
- print(a.text)
- from selenium import webdriver
- # 创建浏览器对象
- path = r'D:\Chrome\Application\chromedriver.exe'
- browser = webdriver.Chrome(path)
- # url
- url = 'https://www.baidu.com'
- browser.get(url)
- #引入时间模块
- import time
- # 睡眠2s
- time.sleep(2)
- # 获取文本框的对象
- input = browser.find_element_by_id('kw')
- # 1、在文本框中输入关键字周杰伦
- input.send_keys('周杰伦')
- time.sleep(2)
- # 获取百度一下的按钮
- button = browser.find_element_by_id('su')
- # 2、点击百度一下按钮
- button.click()
- time.sleep(2)
- # 3、滑到底部
- js_bottom = 'document.documentElement.scrollTop=100000'
- # 执行js脚本
- browser.execute_script(js_bottom)
- time.sleep(2)
- # 获取下一页的按钮
- next = browser.find_element_by_xpath('//a[@class="n"]')
- # 4、点击下一页
- next.click()
- time.sleep(2) # (第2页)
- # 5、回到上一页(第1页)
- browser.back()
- time.sleep(2)
- # 6、回去 (第2页)
- browser.forward()
- time.sleep(3)
- # 7、退出
- browser.quit()

selenium的 元素定位、元素信息、交互的更多相关文章
- 每天一个JavaScript实例-操作元素定位元素
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- selenium的八大定位元素的方式
#八大定位方式 from selenium import webdriver def BrowserOpen(): driver = webdriver.Chrome(); driver.maximi ...
- selenium+iframe 如何定位元素(实战)
场景: 在同一界面,需定位iframe里面的元素, 就需要切换至Iframe块,然后定位元素,验证完成后,再切换出来. 如果不切换至iframe ,会发现不管采取什么定位,都会报元素不存在.
- selenium使用location定位元素坐标偏差
python+selenium+Chromedriver使用location定位元素坐标偏差使用xpath定位元素,用.location获取坐标值,截取网页截图的一部分出现偏差. 之所以会出现这个坐标 ...
- python + selenium 练习篇 - 定位元素的方法
1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8from selenium import webdriverdriver = webdriver.Chrome() ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- selenium八种定位元素方法
1.driver.find_element_by_id('su') 定位到元素的id一般id是唯一的,可以精确定位到元素 2.driver.find_element_by_name() 通过元素的na ...
- 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解
目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...
- Appium学习路—Android定位元素与操作
一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...
- Appium Android定位元素与操作
文章写得很好,转载备用 一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录 ...
随机推荐
- 使用Jacoco统计服务端代码覆盖情况实践
一.背景 随着需求的迭代,需求增加的同时,有可能会伴随着一些功能的下线.如果不对系统已经不用的代码进行梳理并删除不需要的代码,那么就会增加系统维护成本以及理解成本.但经历比较长的迭代以及系统交接,可能 ...
- Java程序的执行过程
Java程序的执行过程 编译器将 Java 源代码编译成字节码class文件 类加载到 JVM 里面后,执行引擎把字节码转为可执行代码 执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行
- Centos7最小安装后快速初始化脚本
功能说明 服务器通常使用最小化安装操作系统,使用该脚本可快速初始化一些基本配置,包括以下: 1.ssh修改默认端口 2.ssh禁止root登陆 3.selinux及firewalld禁用 4.hist ...
- FastAPI 学习之路(十四)响应模型
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...
- C# 提取PDF中的表格
本文介绍在C#程序中(附VB.NET代码)提取PDF中的表格的方法,调用Spire.PDF for .NET提供的提取表格的类以及方法等来获取表格单元格中的文本内容:代码内容中涉及到的主要类及方法归纳 ...
- Kafka消息(存储)格式及索引组织方式
要深入学习Kafka,理解Kafka的存储机制是非常重要的.本文介绍Kafka存储消息的格式以及数据文件和索引组织方式,以便更好的理解Kafka是如何工作的. Kafka消息存储格式 Kafka为了保 ...
- 【UE4 C++ 基础知识】<9> Interface 接口
概述 简单的说,接口提供一组公共的方法,不同的对象中继承这些方法后可以有不同的具体实现. 任何使用接口的类都必须实现这些接口. 实现解耦 解决多继承的问题 蓝图使用 使用方法 三种调用方法的区别 调用 ...
- 反调试——11——检测TF标志寄存器
反调试--11--检测TF标志寄存器 在intel的x86寄存器中有一种叫标志寄存器: 标志寄存器中的TF(Trap Flag)位,CPU在执行完一条指令后,如果检测到标志寄存器的TF位为1,则会产生 ...
- [no_code][Beta]发布声明报告
$( "#cnblogs_post_body" ).catalog() 软件下载 一个全新的超简易的OCR表单识别工具 轻松拍照,实现手写表格识别 一键打开,支持多种应用打开你的表 ...
- Vue报错 type check failed for prop “xxx“. Expected String with value “xx“,got Number with value ‘xx‘
vue报错 [Vue warn]: Invalid prop: type check failed for prop "name". Expected String with ...