python
import os
import time
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
pip install selenium
官方支持的浏览器
google 淘宝源驱动:传送门
opera 淘宝源驱动:传送门
火狐 淘宝源驱动:传送门
Edge 微软源驱动 :传送门
版本选择请保持和当前浏览器版本相同的驱动程序
本文测试采用Google浏览器,其他浏览器大同小异
# chromedriver的文件位置
chrome_driver_path = 'chromedriver.exe'
driver = webdriver.Chrome(executable_path = chrome_driver_path)
url="http://baidu.com"
driver.get(url)
driver.refresh()
driver.switch_to.window(driver.window_handles[-1])
driver.current_window_handle
某些特定的网站需要进行最大化,才能获取内部的元素
driver.maximize_window()
内嵌网站时,使用switch_to.frame 切换到该位置进行操作
# 通过 id 切换框架
driver.switch_to.frame("iframe")
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("博客排行榜"))
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://blog.csdn.net/wenming111")
# 截屏
driver.save_screenshot('./image.png')
1)本文来源项目实践,文章存在任何问题或疑问,请留言,感谢您的阅读!
2)原创不易,转载请标注来源,感谢!
3)made in wmgis