zoukankan      html  css  js  c++  java
  • 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()
    ------------------------- A little Progress a day makes you a big success... ----------------------------
  • 相关阅读:
    mac中导出CSV格式在excel中乱码
    Android Gradle与Gradle插件的对应关系
    【算法】二叉树的前序、中序、后序、层序遍历和还原。
    关于Java虚拟机
    从Java synchronized和volatile说起
    【程小白】Java基本特性
    Android一键锁屏APP
    Fragment的生命周期
    学习大数据必须了解的大数据开发课程大纲
    学习大数据这三个关键技术是一定要掌握!
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/15534088.html
Copyright © 2011-2022 走看看