爬虫常用操作

爬虫常用操作

  • 一、selenium启动浏览器
  • 二、selenium点击
    • 1. click()
    • 2. js点击
    • 3. 鼠标点击
  • 三、获取两个日期间的所有列表

一、selenium启动浏览器

from selenium import webdriver
from selenium.webdriver.common.by import By

#设置浏览器驱动,chromedriver.exe为我本机下载好的浏览器驱动
# driver = webdriver.Chrome('chromedriver.exe')
#创建Chrome浏览器配置对象
chromeOptions=webdriver.ChromeOptions()
#设定下载文件的保存目录为D盘的D:\downloadFile
#如果该目录不存在则直接创建
prefs={"download.default_directory": root}
#将自定义设置添加到chrome配置对象实例中
chromeOptions.add_experimental_option("prefs", prefs)
#启动带有自定义设置的chrome浏览器
driver = webdriver.Chrome(executable_path="chromedriver.exe", chrome_options = chromeOptions)

二、selenium点击

1. click()

from selenium.webdriver.common.by import By

driver.find_element(By.CLASS_NAME, 'el-button.el-button--primary.el-button--mini').click()

2. js点击

from selenium.webdriver.common.by import By

button = driver.find_element(By.CLASS_NAME, 'el-button.el-button--default.el-button--mini')
driver.execute_script("arguments[0].click()", button)

3. 鼠标点击

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By

button = driver.find_element(By.CLASS_NAME, 'el-button.el-button--default.el-button--mini')
webdriver.ActionChains(driver).move_to_element(button).click(button).perform()
# webdriver.ActionChains(driver).move_by_offset(local['x'], local['y']).click().perform()
# webdriver.ActionChains(driver).move_by_offset(-local['x'], -local['y'])

三、获取两个日期间的所有列表

def gen_dates(b_date, days):
    """
    放回遍历的所有日期
    :param b_date: 开始日期
    :param days: 时间间隔
    """
    day = datetime.timedelta(days=1)
    for i in range(days + 1):
        yield b_date + day * i

def Caltime(start,end):
    """
    获取日期列表
    :param start: 开始日期"2000-01-01"
    :param end: 结束日期"2000-01-03"
    :return:
    """
    if start is None  or end is None:
        return []
    else :
        start = datetime.datetime.strptime(start, "%Y-%m-%d")
        end = datetime.datetime.strptime(end, "%Y-%m-%d")
    data = []
    for d in gen_dates(start, (end-start).days):
        data.append(datetime.datetime.strftime(d, "%Y-%m-%d"))
    return data

你可能感兴趣的:(爬虫,chrome,python)