轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等

时间:2021-10-31 22:27:27

本节知识点:

  • 打印URL
  • 将浏览器最大化
  • 设置浏览器固定宽、高
  • 操控浏览器前进、后退

 

 

打印URL

 

上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来。其实也没啥大用,可以做个凑数的用例。

 

轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等
#coding=utf-8

from selenium import webdriver
import time

browser
= webdriver.Firefox()

url
= 'http://www.baidu.com'

#通过get方法获取当前URL打印
print ("now access %s" %(url))
browser.get(url)

time.sleep(
2)
browser.find_element_by_id(
"kw").send_keys("selenium")
browser.find_element_by_id(
"su").click()
time.sleep(
3)
browser.quit()
轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等

 

其实,我们可以把这用户登录成功后的URL打印,用于验证用户登录成功。

又或者,我们打印其它信息,比如,一般的登录成功页会出现“欢迎+用户名”,可以将这个信息打印表明用户登录成功。(如何实现,你自己琢磨一下吧~!)


将浏览器最大化

 

我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行。

轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等
#coding=utf-8

from selenium import webdriver
import time

browser
= webdriver.Firefox()

browser.get(
"http://www.baidu.com")
time.sleep(
2)

print ("浏览器最大化")
browser.maximize_window()
#将浏览器最大化显示
time.sleep(2)

browser.find_element_by_id(
"kw").send_keys("selenium")
browser.find_element_by_id(
"su").click()
time.sleep(
3)
browser.quit()
轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等

 

设置浏览器固定宽、高

 

最大化还是不够灵活,能不能随意的设置浏览的宽、高显示?当然是可以的。

轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等
#coding=utf-8
from selenium import webdriver
import time

browser
= webdriver.Firefox()

browser.get(
"http://m.mail.10086.cn")
time.sleep(
2)

print ("设置浏览器宽480、高800显示")
browser.set_window_size(
480, 800) #参数数字为像素点
time.sleep(3)
browser.quit()
轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等

这个需求也还是有的,比如我们通过PC浏览器在访问一下手机网站时,调整浏览器为手机屏幕的宽、高,容易发现一些显示问题。(上面的手机邮箱网站就是笔者测试过的一个产品)

 

操控浏览器前进、后退

 

浏览器上有一个后退、前进按钮,对于浏览网页的人是比较方便的;对于做web自动化测试的同学来说应该算是一个比较难模拟的问题;其实很简单,下面看看python的实现方式

轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等
#coding=utf-8

from selenium import webdriver
import time

browser
= webdriver.Firefox()

#访问百度首页
first_url= 'http://www.baidu.com'
print ("now access %s" %(first_url))
browser.get(first_url)
time.sleep(
2)

#访问新闻页面
second_url='http://news.baidu.com'
print ("now access %s" %(second_url))
browser.get(second_url)
time.sleep(
2)

#返回(后退)到百度首页
print ("back to %s "%(first_url))
browser.back()
time.sleep(
1)

#前进到新闻页
print ("forward to %s"%(second_url))
browser.forward()
time.sleep(
2)

browser.quit()
轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等

为了使过程让你看得更清晰,在每一步操作上都加了print sleep 

说实话,这两个功能平时不太常用,所能想到的场景就是几个页面来回跳转,但又不想用get url的情况下。