selenium常用语句

# 常用包
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

from selenium import webdriver
from selenium.common.exceptions import TimeoutException, StaleElementReferenceException, NoSuchElementException  #  主要异常
from selenium.webdriver.support.ui import WebDriverWait
# 初始化
chrome_options = Options()   #  Chrome()方法参数开启无头浏览器
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# browser = webdriver.Chrome(chrome_options=chrome_options)
browser = webdriver.Chrome()
wait = WebDriverWait(browser, 20)
browser.maximize_window()
action = ActionChains(browser)
# 执行js
 wait.until(EC.presence_of_element_located((By.CLASS_NAME,'dvc-captcha__puzzleImg')))  # 等待滑块加载,否则无法执行js代码
js = "document.getElementsByClassName('dvc-captcha__puzzleImg')[0].style.visibility='hidden'"
browser.execute_script(js)
# 查找元素
tip = browser.find_elements_by_class_name('searchBar')  #返回list,len(list)==0,表示没找到
# action操作
slider = wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'dvc-slider__handler')))
ActionChains(browser).click_and_hold(slider).perform() # 选中滑块
sleep(0.55)
ActionChains(browser).move_by_offset(xoffset=-6, yoffset=0).perform() # 移动滑块
sleep(0.683)
ActionChains(browser).release().perform() # 释放滑块
# 截图
browser.save_screenshot('screenshot_58.png')  # 先截取全屏图
screen_img = Image.open('screenshot_58.png')  # 使用PIL模块加载图片对象
cut_image = screen_img.crop((left,top,right,bottom))  # 抠图
# 关闭浏览器
browser.close()

猜你喜欢

转载自blog.csdn.net/weixin_42642483/article/details/83144005