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控制浏览器操作的更多相关文章

  1. Selenium3 + Python3自动化测试系列三——控制浏览器操作

    控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小.WebDriver提供了set_window_size()方法来设置浏览器的大小. 如果页面 ...

  2. 通过selenium控制浏览器滚动条

    目的:通过selenium控制浏览器滚动条 原理:通过 driver.execute_script()执行js代码,达到目的 driver.execute_script("window.sc ...

  3. Selenium系列(22) - 通过selenium控制浏览器滚动条的几种方式

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  4. Selenium系列(二) - 控制浏览器操作的详细解读

    如果你还不想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识 ...

  5. selenium - 控制浏览器窗口的大小和浏览器最大化

    1.控制浏览器大小 有些前端的页面需要查看在不同像素下的兼容情况,比如把像素设置为 480*800,然后截图看看页面显示有没有问题 WebDriver 提供了 set_windows_size() 方 ...

  6. 《手把手教你》系列技巧篇(二十六)-java+ selenium自动化测试-浏览器操作(详细教程)

    1.简介 在Web自动化的操作中,我们通常需要使用一些方法来操作浏览器,今天就来学习一下.这一篇宏哥主要是介绍一下,在自动化测试的时候,我们常见的一些浏览器操作有哪些,宏哥将会一一介绍和讲解. 2.浏 ...

  7. selenium java 浏览器操作

    环境搭建 selenium 2.53 selenium-java-2.53.0.jar selenium-java-2.53.0-srcs.jar 原代码包 拷贝的工程lib下,做build path ...

  8. selenium控制浏览器

    1.要把浏览器设置为全屏,否则有些元素是操作失败的,如对下图进行操作按钮是失败的,因为按钮没有显示出来 2.设置浏览器的宽.高 3.控制前进.后退(不建议使用driver.black().driver ...

  9. python3 scrapy 使用selenium 模拟浏览器操作

    零. 在用scrapy爬取数据中,有写是通过js返回的数据,如果我们每个都要获取,那就会相当麻烦,而且查看源码也看不到数据的,所以能不能像浏览器一样去操作他呢? 所以有了-> Selenium ...

随机推荐

  1. SpringBoot项目的代理机制【一】

    这是了解Spring代理机制的第一篇,尝试了解Spring如何实现Bean的注册和代理.这篇文章会抛出问题:Spring注册Bean,都会用Jdk代理或cglib创建代理对象吗? 1 项目准备 1.1 ...

  2. 程序员必知的技术官网系列--mysql篇

    mysql 官网 https://www.mysql.com/ 官网布局很简单, 其中常用的两块就是下载和文档这两块, 其中下载没什么可讲的, 本次重点依旧是文档. 首页 mysql 文档导航页 ht ...

  3. Java工作流引擎节点接收人设置“按自定义SQL计算”系列讲解

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...

  4. 观察者模式的应用:Winform窗体之间传值

    观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象 ...

  5. Java集合框架(java.util包)

    集合的概念: 是一种工具类,可以存储任意数量.任意类型的对象(所以后面需要用到泛型,以约束集合中元素的类型) 集合的作用: 1.在类的内部对属性进行组织 2.方便快速定位属性位置 3.某些集合接口,提 ...

  6. vue报错 [Intervention] Ignored attempt to cancel a touchmove event with cancelable

    在vue开发中使用vue-awesome-swiper制作轮播图,手动拖动时会报错,解决方案: 需要滑动的标签 { touch-action: none; } -------------------- ...

  7. 结巴分词 java 高性能实现,是 huaban jieba 速度的 2倍

    Segment Segment 是基于结巴分词词库实现的更加灵活,高性能的 java 分词实现. 变更日志 创作目的 分词是做 NLP 相关工作,非常基础的一项功能. jieba-analysis 作 ...

  8. 固定表头的table

    在前端的开发过程中,表格时经常使用的一种展现形式.在我的开发过程中,当数据过多时,最常用的一种方式就是分页,但是有些地方还是需要滚动.通常的table 会随着滚动,导致表头看不见.一下是我找到的一种固 ...

  9. .NET为什么要使用异步(async)编程?⭐⭐⭐⭐⭐

    .NET为什么要使用异步(async)编程? 有几点坐下笔记 ⭐⭐⭐⭐: 1. 同步方法 static void Main(string[] args) { Console.WriteLine($&q ...

  10. flink编译支持CDH6.2.0(hadoop3.0.0)

    准备工作 因为在编译时需要下载许多依赖包,在执行编译前最好先配置下代理仓库 <mirrors> <mirror> <id>nexus-aliyun</id&g ...