控制浏览器有哪些操作?

  • 最大化、最小化浏览器
  • 控制、获取浏览器大小
  • 获取当前标签页title、url
  • 前进、后退、刷新
  • 执行js语句
  • 打开、关闭新标签页
  • 滚动页面

点击右边目录即可跳转哦! ———————>>>>>>>>>>

最大化、最小化浏览器

  1. from time import sleep
  2. from selenium import webdriver
  3. # 加载浏览器驱动
  4. driver = webdriver.Chrome("../resources/chromedriver.exe")
  5. # 访问网址
  6. driver.get("https://www.baidu.com")
  7. # 最大化浏览器
  8. driver.maximize_window()
  9. sleep(2)
  10. # 最小化浏览器
  11. driver.minimize_window()

控制、获取浏览器大小

  1. # 加载浏览器驱动
  2. driver = webdriver.Chrome("../resources/chromedriver.exe")
  3. # 访问网址
  4. driver.get("https://www.baidu.com")
  5. # 获取浏览器大小
  6. size = driver.get_window_size()
  7. print(f"浏览器大小:{size}")
  8. sleep(2)
  9. # 设置浏览器大小
  10. driver.set_window_size(1200, 1000)

执行结果

  1. 浏览器大小:{'width': 1936, 'height': 1056}

知识点

get_window_size() 返回的是字典

获取当前标签页title、url

  1. # 加载浏览器驱动
  2. driver = webdriver.Chrome("../resources/chromedriver.exe")
  3. # 访问网址
  4. driver.get("https://www.baidu.com")
  5. # 获取当前标签页的title
  6. print(f"标签页title:{driver.title}")
  7. # 获取当前标签页的url
  8. print(f"标签页url:{driver.current_url}")
  9. # 获取当前浏览器的名称(不常用)
  10. print(f"标签页name:{driver.name}")
  11. # 获取当前页面完整的HTML代码


(不常用)

  1. print(f"标签页page_source:{driver.page_source}")

执行结果

  1. 标签页title:百度一下,你就知道
  2. 标签页urlhttps://www.baidu.com/
  3. 标签页namechrome
  4. 标签页page_source:<html><head>...</head></html>

前进、后退、刷新

  1. # 前进
  2. driver.forward()
  3. # 后退
  4. driver.back()
  5. # 刷新
  6. driver.refresh()

执行js语句

  1. # 同步执行js
  2. js='console.log(2)'
  3. driver.execute_script(js)
  4. # 异步执行js
  5. driver.execute_async_script("alert(2)")

打开、关闭新标签页

  1. # 打开新的标签页
  2. js = 'window.open("https://www.baidu.com/")'
  3. driver.execute_script(js)
  4. # 获取当前标签页句柄
  5. print(driver.current_window_handle)
  6. # 获取浏览器所有标签页句柄
  7. handles = driver.window_handles
  8. print(handles)
  9. # 切换标签页
  10. driver.switch_to.window(handles[-1])
  11. # 关闭当前标签页
  12. driver.close()

执行结果

  1. CDwindow-24C58D8D81CCC95D5D55E887402B7E0A
  2. ['CDwindow-24C58D8D81CCC95D5D55E887402B7E0A', 'CDwindow-04C35D93CD4A04351BAC1CFFA36378CA', 'CDwindow-AC59AC67423FB8463AF0C534C7A47098']

知识点

  • 打开新的标签页只能通过 js 来操作
  • 可以根据标签页的句柄来切换标签页
  • 操作标签页的好处就是,可以只打开一个浏览器但可以访问多个不同的网页;这在后续集成单元测试框架(unittest、pytest)的时候会有很大的帮助

滚动页面

  1. # 滚动随机高度
  2. js = "var q=document.documentElement.scrollTop=" + random.randint(100, 999)
  3. driver.execute_script(js)

知识点

这里暂时只介绍js的滚动方法,滚动其实有几种高级方法的,后续有空补上

转载: https://www.cnblogs.com/poloyy/p/12574439.html