python
1 模块要求 seleniumimport os import time from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait2 模块安装
pip install selenium3) 驱动下载
官方支持的浏览器
google 淘宝源驱动 传送门
opera 淘宝源驱动 传送门
火狐 淘宝源驱动 传送门
Edge 微软源驱动 传送门
版本选择请保持和当前浏览器版本相同的驱动程序
本文测试采用Google浏览器 其他浏览器大同小异
2、启动浏览器# chromedriver的文件位置 chrome_driver_path chromedriver.exe driver webdriver.Chrome(executable_path chrome_driver_path)3、启动网站
url http://baidu.com driver.get(url)4、经典案例分析 1)刷新当前页面:
driver.refresh()2)获得当前窗口的窗口句柄:
driver.switch_to.window(driver.window_handles[-1]) driver.current_window_handle3) 最大化窗体
某些特定的网站需要进行最大化 才能获取内部的元素
driver.maximize_window()4 切换到选择的 iframe
内嵌网站时 使用switch_to.frame 切换到该位置进行操作
# 通过 id 切换框架 driver.switch_to.frame( iframe )5)切换标签页
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 启动驱动程序 chrome_driver_path chromedriver.exe driver webdriver.Chrome(executable_path chrome_driver_path ) # 打开网址 driver.get( https://blog.csdn.net/wenming111 ) # 设置等待 wait WebDriverWait(driver, 10) # 存储原始窗口的 ID original_window driver.current_window_handle # 检查一下 我们还没有打开其他的窗口 assert len(driver.window_handles) 1 # 单击在新窗口中打开的链接 driver.find_element_by_class_name( .blog-list-box ).click() # 等待新窗口或标签页 wait.until(EC.number_of_windows_to_be(2)) # 循环执行 直到找到一个新的窗口句柄 for window_handle in driver.window_handles: if window_handle ! original_window: driver.switch_to.window(window_handle) break # 等待新标签页完成加载内容 wait.until(EC.title_is( 博客排行榜 ))6)屏幕截图
from selenium import webdriver driver webdriver.Chrome() driver.get( https://blog.csdn.net/wenming111 ) driver.save_screenshot( ./image.png )5、声明
1 本文来源项目实践 文章存在任何问题或疑问 请留言 感谢您的阅读
2 原创不易 转载请标注来源 感谢
3 made in wmgis



