Selenium使用总结

创建使用代理的无头浏览器

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值