爬虫常用操作
- 一、selenium启动浏览器
- 二、selenium点击
-
- 1. click()
- 2. js点击
- 3. 鼠标点击
- 三、获取两个日期间的所有列表
一、selenium启动浏览器
from selenium import webdriver
from selenium.webdriver.common.by import By
chromeOptions=webdriver.ChromeOptions()
prefs={"download.default_directory": root}
chromeOptions.add_experimental_option("prefs", prefs)
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()
三、获取两个日期间的所有列表
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