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目录 ...
随机推荐
- [RabbitMQ]下载&安装
RabbitMQ是基于Erlang语言开发的消息中间件,所以使用RabbitMQ需要安装Erlang和RabbitMQ两个软件. 1 Erlang 1.1 下载 官网下载地址:https://www. ...
- 15-ThreadLocalRandom类剖析
ThraedLocalRandom类是JDK7在JUC包下新增的随机数生成器,它弥补了Random类在多线程下的缺陷. Random类及其缺陷 下面看一下java.util.Random的使用方法. ...
- 2020.10.9--vj个人赛补题
B - A Tide of Riverscape 题意:给出一组字符串,由'0','1',' . '组成,' . '可以换成 0或1,判断第 i 个和第 i+p 个字符是否可以不相等,如果可以则输出 ...
- captcha_trainer 验证码识别-训练 使用记录
captcha_trainer 验证码识别-训练 使用记录 在爬数据的时候,网站出现了验证码,那么我们就得去识别验证码了.目前有两种方案 接入打码平台(花钱,慢) 自己训练(费时,需要GPU环境,快) ...
- CAM对象样式表
CAM对象样式表 121 160 UF_machining_task_type UF_mach_order_task_subtype 112 UF_machining_null_grp_type 无 ...
- Visual Studio 安装 C++
Visual Studio 安装 C++
- pycharm 服务器连接及一些问题解决
主要介绍一下如何使用pycharm连接服务器并在服务器上炼丹,并对遇到的一个小问题进行说明. 目录 1,SSH连接 2,linux常用命令 3,配置anaconda 4,运行代码 5,一个常见错误 1 ...
- Jupyter Notebook配置多个kernel
Jupyter Notebook配置多个kernel 前言: 在anaconda下配置了多个环境,而Jupiter Notebook只是安装在base环境下,为了能在Jupiter Notebook中 ...
- 第2次 Beta Scrum Meeting
本次会议为Beta阶段第2次Scrum Meeting会议 会议概要 会议时间:2021年5月31日 会议地点:「腾讯会议」线上进行 会议时长:0.5小时 会议内容简介:对完成工作进行阶段性汇报:对下 ...
- 攻防世界 杂项 6.pure_color
图片隐写 工具 使用StegSolve一把梭 另一种解法 右击图片编辑,画图工具打开,属性设置黑白.