一、浏览器对象

# 导入webdriverfrom selenium import webdriver# 创建一个浏览器对象driver = webdriver.Firefox()# 设置全屏# driver.maximize_window()# 获取当前浏览器尺寸# size = driver.get_window_size()# print(size)# 设置浏览器尺寸driver.set_window_size(400, 400)size = driver.get_window_size()print(size)# print(dir(driver))# 获取浏览器位置position = driver.get_window_position()print(position)# 设置浏览器位置driver.set_window_position(100,200)# 关闭浏览器driver.quit()driver.close()

二、页面操作

# 导包from selenium import webdriverimport time# 创建浏览器对象driver = webdriver.Firefox()# 访问百度url1 = 'http://www.baidu.com'driver.get(url1)print('访问:',url1)# 访问百度url2 = 'https://zhuanlan.zhihu.com/'time.sleep(2)driver.get(url2)print('访问:',url2)# 后退操作time.sleep(2)driver.back()print('后退到',url1)# 前进time.sleep(2)driver.forward()print('前进到',url2)

三、获取断言信息

(一)获取当前页面URL

# 导包from selenium import webdriverimport time# 创建浏览器对象driver = webdriver.Firefox()# 访问百度url1 = 'http://www.baidu.com'driver.get(url1)print('访问:',driver.current_url)# 访问百度url2 = 'https://zhuanlan.zhihu.com/'time.sleep(2)driver.get(url2)print('访问:',driver.current_url)# 后退操作time.sleep(2)

driver.back()

print('后退到',driver.current_url)# 前进
time.sleep(2)
driver.forward()print('前进到',driver.current_url)
(二)获取浏览器标题、保存当前页面快照

from selenium import webdriver# 创建浏览器对象driver = webdriver.Firefox()# 访问新浪url = 'http://www.baidu.com'driver.get(url)# 显示当前的urlprint(driver.current_url)# 显示当前的页面标题print(driver.title)# 保存快照操作# 自动写文件# driver.get_screenshot_as_file('baidu.jpg')# 自己写文件data = driver.get_screenshot_as_png()with open('baidu2.jpg','wb') as f:    f.write(data)driver.close()

(三)获取当前页面源码——不常用

from selenium import webdriverdriver = webdriver.PhantomJS()url = 'http://www.baidu.com'driver.get(url)data = driver.page_source

print(type(data))

# 以二进制类型写入文件with open('baidu.html','wb') as f:
f.write(data.encode())# str类型数据(data)转换成bytes类型(二进制类型)
# b_data = data.encode()
# data = b_data.decode()driver.get_screenshot_as_file('baidu3.jpg')

四、元素定位

(一)两种定位形式 

①driver.find_element_by_id(' ')  推荐使用

from selenium import webdriverimport time# 创建爱你一个浏览器对象driver = webdriver.Firefox()# 访问百度url = 'http://www.baidu.com'driver.get(url)time.sleep(3)

# 定位到搜索框元素

el = driver.find_element_by_id('kw')

# 向输入框中输入数据
el.send_keys('传智播客')

# 定位搜索按钮

el_click = driver.find_element_by_id('su')

el_click.click()
time.sleep(5)
driver.close()

②from selenium.webdriver.common.by import By

driver.find_element(By.XXX,'value')

不推荐使用

from selenium import webdriver# 导入Byfrom selenium.webdriver.common.by import Byimport timedriver = webdriver.Firefox()url = 'http://www.baidu.com'driver.get(url)# By调用的定位方式全部为大写el = driver.find_element(By.ID,'kw')

# 输入搜索关键字(向可输入元素输入文本内容)

el.send_keys('itcast')

# 定位到搜索按钮

el_sub = driver.find_element(By.ID,'su')# 点击元素el_sub.click()

# 点击元素el_sub.click()
time.sleep(3)
driver.close()

(二)八种定位方式

①去哪网-验证id定位

# 导入webdrvierfrom selenium import webdriverimport time# 创建一个浏览器driver = webdriver.Firefox()# 访问去哪网url = 'https://www.qunar.com/'driver.get(url)# 定位到攻略按钮

el = driver.find_element_by_id

('__link_travel__')

# 点击操作,前提是定位到元素
el.click()# 定位到公寓按钮
time.sleep(5)

el_1 = driver.find_element_by_id

('__link_gongyu__')

# 点击操作
el_1.click()
time.sleep(5)
driver.close()

②人人网登陆-验证name定位

# 导入webdriverfrom selenium import webdriverimport  time# 创建一个浏览器driver = webdriver.Firefox()# 访问人人网url = 'http://www.renren.com/'driver.get(url)# 通过name定位到账号输入

el_user = driver.find_element_by_name

('email')

# 输入账号
el_user.send_keys('17173805860')# 通过name定位到密码输入

el_pwd = driver.find_element_by_name

('password')

# 输入密码
el_pwd.send_keys('1qaz@WSX3edc')# 通过id定位到登陆按钮
el_sub = driver.find_element_by_id('login')# 点击登陆
el_sub.click()
time.sleep(5)
driver.close()

③斗鱼翻页-验证class_name定位
# 导入webdriverfrom selenium import webdriverimport time# 开浏览器driver = webdriver.Firefox()# 访问斗鱼url= 'https://www.douyu.com/directory/all'driver.get(url)for i in range(10):# 通过class属性对应的值定位到下一页

el_next = driver.find_element_by_class_

name('shark-pager-next')# 点击翻页
el_next.click()
time.sleep(3)
time.sleep(10)
driver.close()

④bing搜索-验证tag_name定位

# 导包from selenium import webdriverimport time# 开浏览器driver = webdriver.Firefox()# 访问bing搜索url = 'https://cn.bing.com/'driver.get(url)# 通过标签名进行定位,该元素要么唯一,要么是第一个

el = driver.find_element_by_tag_name

('input')

el.send_keys('selenium')# 通过id定位到搜索按钮

el_sub = driver.find_element_by_id

('sb_form_go')

# 点击搜索
el_sub.click()
time.sleep(5)
driver.close()

⑤58同城-验证link_text定位

# 导包from selenium import webdriverimport time# 开一个浏览器driver = webdriver.Firefox()# 访问北京58url = 'http://bj.58.com/'driver.get(url)# 通过连接文本(可以跳转的问题)进行定位

el = driver.find_element_by_link_text

('房屋出租')

el.click()
time.sleep(5)# driver.quit()driver.close()

⑥hao123-验证partial_link_test定位

from selenium import webdriverimport time# 开一个浏览器driver = webdriver.Firefox()# 访问百度url='https://www.baidu.com/'driver.get(url)# 通过部分连接文本进行元素定位

# el = driver.find_element_by_partial_link_

text('hao')

el = driver.find_element_by_partial_link_

text('123')

# 点击
el.click()
time.sleep(5)
driver.close()

⑦豆瓣电影-验证xpath定位

from selenium import webdriverimport time# 打开一个浏览器driver = webdriver.Firefox()# 访问豆瓣电影url = 'https://movie.douban.com/'driver.get(url)

el = driver.find_element_by_xpath

(".//*[@id='screening']/div[1]/h2/

span[1]/a")

el.click()
time.sleep(5)
driver.close()

⑧天猫国际-验证css_selector定位

# 导包from selenium import webdriverimport time# 开浏览器driver = webdriver.Firefox()# 访问天猫url = 'https://www.tmall.com/'driver.get(url)# 定位天猫国际# 1.通过firebug获取css选择器

# el = driver.find_element_by_css_selector

('html.ks-gecko35.ks-gecko.ks-firefox35.

ks-firefox body.w1230 div#mallPage.mui-

global-biz-mallfp div#content div.main-nav

div.inner-con0 div.inner-con1 div.inner-

con2.clearfix a img')

# 2.firepath获取css选择器

# el = driver.find_element_by_css_selector

('.inner-con2.clearfix>a>img')

# 3.自带

el = driver.find_element_by_css_selector

('.inner-con2 > a:nth-child(2) > img:

nth-child(1)')

el.click()
time.sleep(5)
driver.quit()

(三)定位一组

百度搜索-获取一组1

# 导包from selenium import webdriverimport time# 开浏览器driver = webdriver.Firefox()# 访问百度url = 'http://www.baidu.com'driver.get(url)# 定位输入框el = driver.find_element_by_id('kw')# 输入关键字el.send_keys('selenium')# 定位搜索按钮el_sub = driver.find_element_by_id('su')el_sub.click()

el_list = driver.find_elements_by_css_

selector('div[id="content_left"]>div>h3>a')

print(el_list)
time.sleep(5)
driver.close()

58租房-获取一组
from selenium import webdriverimport time# 开浏览器driver = webdriver.Firefox()# 访问租房结果url = 'http://bj.58.com/chuzu/?PGTID=0d100000-0000-1efb-e60d-a376bad42316&ClickID=1'driver.get(url)# 定位一组搜索结果

el_list = driver.find_elements_by_css_

selector(".listUl > li > div:nth-child(2) > h2:

nth-child(1) > a:nth-child(1)")

print (el_list)
time.sleep(5)
driver.close()

五、元素操作

百度界面

from selenium import webdriver

import time# 创建一个浏览器
driver = webdriver.Firefox()# 访问百度
url = 'http://www.baidu.com'driver.get(url)# 定位到输入框
el = driver.find_element_by_id('kw')# 输入seleniumel.send_keys('selenium')# 清空操作el.clear()# 输入pythonel.send_keys('python')# 定位到搜索按钮
el_sub = driver.find_element_by_id('su')

# 调用提交,submit的作用等同于click,但是click的

使用面要更广一些

el_sub.submit()
time.sleep(5)
driver.close()

58同城

from selenium import webdriver

import time# 开浏览器
driver = webdriver.Firefox()# 访问租房结果

url = 'http://bj.58.com/chuzu/?PGTID=

0d100000-0000-1efb-e60d-a376bad42316&

ClickID=1'

driver.get(url)# 定位一组搜索结果

el_list = driver.find_elements_by_css_

selector(".listUl > li > div:nth-child(2)

> h2:nth-child(1) > a:nth-child(1)")

print (el_list)for el in el_list:

print('标题:',el.text,'链接:',

el.get_attribute('href'))

time.sleep(5)
driver.close()

firefox应用自动全屏显示_【b】—自动化测试:基础selenium—API相关推荐

  1. MATLAB app designer 自动全屏显示

    MATLAB app designer 自动全屏显示 两步完成: 单击UIfigure 更改position([0,0,1920,1080],其中(0,0)表示窗口左上角的起始位置在屏幕的左上角,(1 ...

  2. js怎么让浏览器自动全屏显示

     在HTML5中,W3C制定了关于全屏的API但是只能由用户事件触发,所以不能自动全屏:用户事件触发方法如下: // 判断各种浏览器,找到正确的方法 进入全屏 function launchFulls ...

  3. html中背景图片自动全屏显示,HTML设置body背景图片全屏显示

    JMeter中返回Json数据的处理方法 Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力 ...

  4. Fullscreen API 全屏显示网页

    Fullscreen API 全屏显示网页 第一次看到应用 Fullscreen API 全屏显示网页,是 FaceBook 中的照片放大.作为一个比较新的 API,目前只有 Safari.Chrom ...

  5. 计算机屏幕尺寸不是全屏,电脑屏幕有黑边撑不满怎么办_电脑屏幕不能全屏显示的解决方法...

    电脑屏幕有黑边撑不满怎么办?平时在使用电脑时候,如果是新手,可能会出现显示屏不能全屏显示的问题,有些情况是分辨率的问题,调整一下就好了,但有时候调整了也没有用,那么该怎么办呢?下面智能手机网小编来具体 ...

  6. VB.NET在WinForm中嵌入谷歌浏览器_制作全屏显示网页程序_并读取INI配置文件_根据配置文件显示不同的网页---VB.NET工作笔记016

    我们做了个项目,科技馆的,需要把绚丽的网页,全屏放到浏览器上显示,但是....他们做的这个网页...我去,只支持谷歌这样的浏览器,在IE这样的浏览器模式下,显示有问题... 不知道是不是因为,没有使用 ...

  7. css背景图片高斯模糊_如何将网页CSS背景图高斯模糊且全屏显示

    以Path为代表的,展示了这种背景图模糊并全屏显示的方法,而且会根据屏幕分辨率放大缩小. 这种效果应该怎么实现呢? 高斯模糊是PS.FW图片处理工具搞的. 全屏显示的方法 1:使用CSS .bg { ...

  8. 的run窗口不显示_「玩转deepin」如何安装VirtualBox增强功能使得deepin全屏显示?...

    在Windows上通过Virtualbox安装deepin深度操作系统,安装完成后,为了让deepin可以在virtualbox中全屏显示,需要安装增强工具,但是不少同学点击安装增强工具后会出现无法安 ...

  9. h5 video 手机上无法显示_手机镜象投屏到电视上全屏显示

    手机镜象投屏到电视上全屏显示 随着手机投屏被越来越多的人知道,手机镜像投屏到大屏幕不是全屏的问题成为许多人心中的痛.AWIND奇机在2019年就做出了竖屏投屏器可以轻松让手机镜像投屏到大屏幕上为全屏显 ...

最新文章

  1. eclipse java代码某一行需要修改注释_看看这些Java代码开发规范吧!你好,我好,大家好!...
  2. 黑马vue---13、事件修饰符的介绍
  3. Hibernate代码生成工具 设计全攻略
  4. C++之对象的动态建立和释放
  5. ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库
  6. 信息学奥赛一本通(1095:数1的个数)
  7. 测量程序运行时间的几个函数
  8. java Session生命周期讨论
  9. 配置vmcore通过ssh转储到其他主机的方法
  10. 天翼网关服务器无响应,教你使用天翼网关软件突然打不开的解决方法
  11. Arcgis拓扑检查必须相互覆盖操作步骤
  12. 【Java必学框架】一文搞懂Java持久层框架Mybatis,由浅入深
  13. android手势第一次设置密码_Android实现手势密码功能
  14. CCPC-Wannafly Winter Camp Day1 (Div2, onsite) A 机器人 分类讨论
  15. 纤亿通带你认识和正确使用SFP光模块
  16. qt GraphicsScene添加背景
  17. 计算机管理组合用户,Windows2000用户和计算机帐户管理
  18. Illegal invocation 解决方法
  19. Ubuntu下使用NTP同步对时
  20. 观小林coding图解网络总结

热门文章

  1. python 比赛成绩预测_利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!值得,涨知识了!...
  2. 树莓派安装CentOS
  3. 1000瓶药水,1瓶有毒药,几只小白鼠能够找出毒药
  4. [SDOI2016]排列计数
  5. xhprof windows下安装和使用(转载)
  6. python调用其他程序或脚本方法(转)
  7. Linux开机运行应用程序
  8. java代理的学习,通过类实现接口来实现代理。proxy来创建动态类,和InvocationHandler接口的实现,和工作原理。...
  9. 解决“第一次偶然出现的异常”问题
  10. Android中使用Thread线程出现的问题