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目录 ...
随机推荐
- MYSQL小版本升级(5.7.21至5.7.25)
1.环境确认 [root@mysql ~]# ps -ef |grep -i mysql root 9173 1 0 2020 ? 00:00:00 /bin/sh /mysql/data/mysql ...
- Java到底怎么学?
你现在是不是想学Java,但很迷茫不知该从何下手,那么请认真看完这篇文章,希望对你有所帮助! 作为零基础刚刚接触Java的朋友们来说,我的建议还是先看视频,虽然有很多人说看视频学习慢,建议直接买优秀的 ...
- 微信小程序内判断是否关注公众号(JAVA)
微信小程序内判断是否关注公众号(JAVA) 思路来源(第二种): https://blog.csdn.net/Yanheeee/article/details/117295643 /** * 总体思路 ...
- 题解 GRE Words Revenge
题目传送门 题目大意 给出 \(m\) 次操作,分别为以下两种操作: 学习一个单词 给出一个段落,查询里面有多少个学过的单词.注意,如果学习过 \(\text{ab,bc}\) ,当前查询段落为 \( ...
- python-docx处理Word必备工具
我的理解 为什么会用到python-docx,因为近段时间下载了大量网文,但格式都是html的,我个人习惯使用word处理文字,于是就想法设法把html文档转换为word,首先要考虑的问题就是从h ...
- Johnson 全源最短路径算法学习笔记
Johnson 全源最短路径算法学习笔记 如果你希望得到带互动的极简文字体验,请点这里 我们来学习johnson Johnson 算法是一种在边加权有向图中找到所有顶点对之间最短路径的方法.它允许一些 ...
- 【数据结构】<栈的应用>回文判断
通过栈与队列相关内容的学习,我们知道,栈是"先进后出"的线性表,而队列是"先进先出"的线性表.可以通过构造栈与队列来实现在这一算法.将要判断的字符序列依次压栈和 ...
- k8s replicaset controller分析(1)-初始化与启动分析
replicaset controller分析 replicaset controller简介 replicaset controller是kube-controller-manager组件中众多控制 ...
- Asp.CAore往Vue前端传application/octet-stream类型文件流
题外话:当传递文件流时要确定文件流的类型,但也有例外就是application/octet-stream类型,主要是只用来下载的类型,这个类型简单理解意思就是通用类型类似 var .object.ar ...
- IDA*、操作打表、并行处理-The Rotation Game HDU - 1667
万恶之源 优秀题解 用文字终究难以穷尽代码的思想 思路 每次操作都有八种选择,相当于一棵每次延申八个子节点的搜索树,故搜索应该是一种方法.而这题要求求最少步数,我们就可以想到可以试试迭代加深搜索(但其 ...