预计所需阅读时间: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()