测试工作中,对浏览器的操作无而非就是:
- 最大化窗口
- 设置窗口大小
- 在不同页面间前进和后退
这三种比较简单,直接上代码:
# 导入webdriver
from selenium import webdriver
# 启动Chrome浏览器
driver = webdriver.Chrome()
# 打开百度首页
driver.get('http://ww.baidu.com')
# 最大化窗口
driver.maximize_window()
time.sleep(6)
# 设置成浏览器窗口大小,宽400,高600
driver.set_window_size(400, 600)
# 打开百度新闻页面
driver.get("http://news.baidu.com/")
time.sleep(5)
# 退回到百度首页
driver.back()
time.sleep(5)
#前进到百度新闻页面
driver.forward()
driver.quit()
说明:不知道为什么webdriver不能操作firefox浏览器进行前进和后退?
- 操作浏览器的滚动条
操作浏览器的滚动条的现实意义可能是:注册时的法律条文的阅读,判断用户是否阅读完成的标准是:滚动条是否拉到最下方。
操作浏览器的滚动条需要采用Javascript来完成。webdriver 提供了execute_script() 接口用来调用js 代码。上代码:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://ww.baidu.com')
driver.maximize_window()
time.sleep(6)
driver.set_window_size(400, 600)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
# 滚动条置底
js1 = "var q=document.documentElement.scrollTop=1000000"
driver.execute_script(js1)
# 滚动条置顶
js2 = "var q=document.documentElement.scrollTop=0"
driver.execute_script(js2)
说明:不知道为什么webdriver滚动不了Chrome浏览器的滚动条。
这两个疑问以后调研吧。