预计所需阅读时间:4分钟
Selenium是Python环境下一款自动化测试软件,还可以帮我我们自动浏览网页获取,模拟真人去上网,从而获取相关信息。换句话说,它也可以是网页的爬虫,获取网页的内容。
Python下与爬虫有关的包很多,不同的包使用的场景不同,Selenium可以应对只有一个简单滑块的验证,就是一拉到底那种。目前,还没研究出拉不现距离的滑块。因为滑块要一拉到底,所以滑动距离是固定的,这时将浏览器窗口设置成最大化或特定大小就是必要了。
Selenium加载浏览器驱动,实例化之后有正面这些函数(方法),去控制浏览器:
get_window_size() 获取浏览器大小
set_window_size() 设置浏览器位置
get_window_position() 获取浏览器在屏幕上的坐标
set_window_position() 设置浏览器在屏幕的位置
maximize_window() 最大化浏览器
其效果如图:
具体代码如下:
from selenium.webdriver.chrome.webdriver import Options, WebDriver from time import sleep # 创建实例 options = Options() options.add_experimental_option('excludeSwitches', ['enable-automation']) # 关闭浏览器受到控制的提示 browser = WebDriver(r'D:\Browser\Chromium\chromedriver.exe', options=options) # 浏览器路经请修改为自已的 browser.get("https://www.baidu.com") sleep(2) # 打印浏览器的宽和高 size_Dict = browser.get_window_size() print("当前浏览器的宽:", size_Dict['width']) print("当前浏览器的高:", size_Dict['height']) # 设置浏览器的大小 browser.set_window_size(width=800, height=500, windowHandle="current") # windowHandle = "current" 控制当前窗口的意思 sleep(2) # 打印窗口坐标 position = browser.get_window_position() print(position) print("浏览器所在位置的横坐标:", position["x"]) print("浏览器所在位置的纵坐标:", position["y"]) # 设置窗口位置并打印位置坐标 browser.set_window_position(x=100, y=200) print(browser.get_window_position()) sleep(2) # 最大化浏览器并输出浏览器的大小和位置坐标 browser.maximize_window() print(browser.get_window_size()) print(browser.get_window_position()) sleep(2) # 退出浏览器 browser.quit()
评论