selenium控制浏览器操作
selenium控制浏览器操作
控制浏览器有哪些操作?
- 控制页面大小
- 前进、后退
- 刷新
- 自动输入、提交
- ........
控制页面大小,实例:
函数:
browser.set_window_size(400,800)
# -*- coding:utf-8 -*-
from selenium import webdriver
import time # 打开chrome浏览器
browser = webdriver.Chrome() #chrome_options=option
browser.get("https://www.baidu.com") browser.find_element_by_id('kw').send_keys('selenium')
#browser.find_element_by_link_text("网页").click()
time.sleep(3)
print("设置浏览器宽480、高800显示")
browser.set_window_size(400,800)
time.sleep(3)
browser.quit() #关闭浏览器
前进、后退
# -*- coding:utf-8 -*-
#导入webdrive
from selenium import webdriver
import time browser = webdriver.Chrome()#定义驱动浏览器 #访问百度首页
first_url = "http://www.baidu.com"#定义一个变量,将网页指向
browser.get(first_url)# 打开浏览器,及页面
time.sleep(3) #访问新闻首页
second_url = "http://news.baidu.com/"#定义一个变量,将网页指向
print("打开 %s"%(second_url))#打印网页的操作动向
browser.get(second_url)# 打开浏览器,及页面
time.sleep(3) #返回,后退到百度首页
print("back to %s"%(first_url))#打印网页的操作动向
browser.back()#后退
time.sleep(3) #前进到新闻页面
print("forard to %s"%(second_url))#打印网页的操作动向
browser.forward()# #前进
time.sleep(2)
browser.refresh()
time.sleep(2) browser.quit() #关闭
刷新页面
# -*- coding:utf-8 -*-
from selenium import webdriver
import time first_url = "https://www.baidu.com" browser = webdriver.Firefox() browser.get(first_url) browser.refresh() #此处报错,原来写的是search_3.refresh();不对,应该是对浏览器的一个刷新
browser.quit()
自动输入、提交
# -*- coding:utf-8 -*-
from selenium import webdriver
import time
browser = webdriver.Chrome() browser.get("http://www.baidu.com") text = browser.find_element_by_id('kw')
text.send_keys('selenium')
text.submit()
time.sleep(2)
browser.find_element_by_id('kw').clear()
time.sleep(2)
browser.find_element_by_id('kw').click()
time.sleep(2)
browser.quit()
其他常用方法:
- 获的输入框的尺寸
- 返回页面底部的备案信息
- 返回元素属性
- 返回元素的结果是否可见
# -*- coding:utf-8 -*-
from selenium import webdriver
import time browser = webdriver.Chrome()
browser.get("https://www.nutsvpn.com/") #获得输入框的尺寸
size = browser.find_element_by_id('kw').size
print(size)
time.sleep(3) #返回页面底部的备案信息
text = browser.find_element_by_id('cp').text
print(text)
time.sleep(3)
#返回元素的属性值,可以是ID NAME TPYE
attribute = browser.find_element_by_id("kw").get_attribute('type')
print(attribute)
time.sleep(3)
#返回元素的结果是否可见,返回结果为True或False
result = browser.find_element_by_id('kw').is_displayed() print(result)
time.sleep(3)
browser.quit()
selenium控制浏览器操作的更多相关文章
- Selenium3 + Python3自动化测试系列三——控制浏览器操作
控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小.WebDriver提供了set_window_size()方法来设置浏览器的大小. 如果页面 ...
- 通过selenium控制浏览器滚动条
目的:通过selenium控制浏览器滚动条 原理:通过 driver.execute_script()执行js代码,达到目的 driver.execute_script("window.sc ...
- Selenium系列(22) - 通过selenium控制浏览器滚动条的几种方式
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Selenium系列(二) - 控制浏览器操作的详细解读
如果你还不想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识 ...
- selenium - 控制浏览器窗口的大小和浏览器最大化
1.控制浏览器大小 有些前端的页面需要查看在不同像素下的兼容情况,比如把像素设置为 480*800,然后截图看看页面显示有没有问题 WebDriver 提供了 set_windows_size() 方 ...
- 《手把手教你》系列技巧篇(二十六)-java+ selenium自动化测试-浏览器操作(详细教程)
1.简介 在Web自动化的操作中,我们通常需要使用一些方法来操作浏览器,今天就来学习一下.这一篇宏哥主要是介绍一下,在自动化测试的时候,我们常见的一些浏览器操作有哪些,宏哥将会一一介绍和讲解. 2.浏 ...
- selenium java 浏览器操作
环境搭建 selenium 2.53 selenium-java-2.53.0.jar selenium-java-2.53.0-srcs.jar 原代码包 拷贝的工程lib下,做build path ...
- selenium控制浏览器
1.要把浏览器设置为全屏,否则有些元素是操作失败的,如对下图进行操作按钮是失败的,因为按钮没有显示出来 2.设置浏览器的宽.高 3.控制前进.后退(不建议使用driver.black().driver ...
- python3 scrapy 使用selenium 模拟浏览器操作
零. 在用scrapy爬取数据中,有写是通过js返回的数据,如果我们每个都要获取,那就会相当麻烦,而且查看源码也看不到数据的,所以能不能像浏览器一样去操作他呢? 所以有了-> Selenium ...
随机推荐
- css部分概念
1.层叠 规则之间属性相同,值不同的时候就会发生声明冲突,这个时候层叠就会起作用了,层叠会将我们声明的不同的值进行保留,相同的值进行比较,选权重值更高的一个来运行.具体情境如下:假设我们定义了一个di ...
- FastJSON将Java对象转为json,日期显示时间戳未格式化解决办法
JSON版本:FastJson Java 对象转换为 JSON 格式 定义以下 Person JavaBean: public class Person { @JSONField(name = &qu ...
- 每日一问2:堆(heap)和栈(stack)的区别
因为这里没有明确指出堆是指数据结构还是存储方式,所以两个尝试都回答一下. 一.堆和栈作为数据结构 1.堆(heap),也叫做优先队列(priority queue),队列中允许的操作是先进先出(FIF ...
- Springboot2.1.1下的自定义拦截器而静态资源不能访问的问题
1.项目结构 2.自定义拦截器 public class LoginHandlerlnterceptor implements HandlerInterceptor { //目标方法执行之前 @Ove ...
- javalite 使用druid数据库连接池配置
在pom文件中引入jar包 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid& ...
- flask部署深度学习模型
flask部署深度学习模型 作为著名Python web框架之一的Flask,具有简单轻量.灵活.扩展丰富且上手难度低的特点,因此成为了机器学习和深度学习模型上线跑定时任务,提供API的首选框架. 众 ...
- 如何设计一个优雅的RESTFUL的接口
show me the code and talk to me,做的出来更要说的明白 我是布尔bl,你的支持是我分享的动力! 一 .引入 设计接口是我们开发人员的日常操作.当我们把接口交给前端人员时, ...
- Core 定时任务之TimeJob
第一:引入NuGet包: Install-Package Pomelo.AspNetCore.TimedJob -Version -rtm- 第二: 在StartUp 中注册Job: public c ...
- http请求头中的content-type属性
在HTTP请求中,我们每天都在使用Content-Type来指定不同格式的请求信息,但是却很少有人去全面了解Content-Type中允许的值有多少,因此这里来了解一下Content-Type的可用值 ...
- 「4.0」一个人开发一个App,小程序从0到1,布局
一提到布局这个词,我总是索索发抖,不是因为天冷,而是因为布局的目标实在太宏大.古代想雄霸天下的王,就喜欢布局这个,布局那个,结果硬生生把自己的国家给布局没了.至于是哪个君王,我倒可以非常认真,非常坦诚 ...