airflow sample to start google chrome broswer

复制代码
from datetime import datetime, timedelta
from airflow.utils.dates import days_ago
from airflow import DAG
from airflow.operators.python import PythonOperator
from selenium import webdriver
from selenium.webdriver.chrome.options import Options


default_args = {
    'owner': 'Jasmine Qian',
    'start_date': days_ago(0),
    'email': ['jaxxxxx@xxx.com],
    'retries': 0,
    'retry_delay': timedelta(minutes=2),
}

dag = DAG(
    'Python_selenium',
    default_args=default_args,
    tags=['python', 'selenium'],
    start_date=datetime(2021, 1, 1),
    catchup=False,
)


def login():
    url = "http://www.360doc.com/content/19/0217/09/33525635_815480537.shtml"
    print(url)
    chrome_options = Options()
    chrome_options.add_argument("--no-sandbox") # linux only
    chrome_options.add_argument("--headless")
    # chrome_options.headless = True # also works
    driver = webdriver.Chrome(options=chrome_options)
    actual_url = driver.get(url)
    print(actual_url)
    bodyContent = driver.find_element_by_tag_name('body').text
    print(bodyContent)
    driver.close()
    print("Succeed@@")



def connet_google():
    url = "http://www.google.com"
    print(url)
    chrome_options = Options()
    chrome_options.add_argument("--no-sandbox") # linux only
    chrome_options.add_argument("--headless")
    # chrome_options.headless = True # also works
    driver = webdriver.Chrome(options=chrome_options)
    bodyContent = driver.find_element_by_tag_name('body').text
    print(bodyContent)
    driver.close()
    print("Succeed@@")


user_login = PythonOperator(
    task_id='login',
    python_callable=login,
    dag=dag,
)



connet_google = PythonOperator(
    task_id='google',
    python_callable=connet_google,
    dag=dag,
)

user_login >> connet_google

if __name__ == "__main__":
    dag.cli()
复制代码

 

posted @   巴黎爱工作  阅读(63)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示