概述
创建使用代理的无头浏览器
from selenium import webdriver
from selenium.common import exceptions
class Driver:
def __init__(self):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--proxy-server=http://{ip}:{port}'.format(ip=ip, port=port))
self.driver = webdriver.Chrome(executable_path=Chrome_path, chrome_options=chrome_options)
# 如网页宽度不足,可能会导致截图出现问题
x_size = 1200
y_size = 900
self.driver.set_window_size(x_size, y_size)
# 获取网页大小以备不时之需
self.size = self.driver.get_window_size()
def get(self, url):
# 访问网页
self.driver.get(url)
def find_element_by_xpath(self, xpath):
return self.driver.find_element_by_xpath(xpath)
def __del__(self):
self.driver.quit()
截某元素的图
from PIL import Image
def get_element_pic(element, driver, pic_name='screenshot.png'):
driver.save_screenshot('screenshot.png')
left = element.location['x']
top = element.location['y']
right = element.location['x'] + element.size['width']
bottom = element.location['y'] + element.size['height']
im = Image.open('screenshot.png')
im = im.crop((left, top, right, bottom))
im.save(pic_name)
常用鼠标操作
# 点击
element.click()
# 输入
element.put_keys(string)
# 获取动作
from selenium.webdriver.common.action_chains import ActionChains
action = ActionChains(driver)
# 悬停
action.move_to_element(element).perform()
# 长按
action.click_and_hold(element).perform()
action.release(element).perform()
# 平行移动
action.move_by_offset(x, y).perform()
最后
以上就是个性音响为你收集整理的Selenium使用总结创建使用代理的无头浏览器截某元素的图常用鼠标操作的全部内容,希望文章能够帮你解决Selenium使用总结创建使用代理的无头浏览器截某元素的图常用鼠标操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复