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()

airflow sample to  start google chrome broswer

Original: https://www.cnblogs.com/qianjinyan/p/15534088.html
Author: 巴黎爱工作
Title: airflow sample to start google chrome broswer

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/553066/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Android安卓进阶技术分享之AGP工作原理

    1.基础准备 在分析源码之前,我想你应该对 Android 打包流程已经有基础的了解,至少了解了下图的打包过程: 否则你有可能不了解下文中的专业术语。 2.AGP源码的打开方式 看…

    技术杂谈 2023年7月10日
    097
  • Java编程基础(整理)

    Java教程官方文档: JDK11官方文档: 《Java编程思想》学习笔记: 《Java从入门到精通》学习笔记: 软件开发:系统软件、应用软件 人机交互:GUI(图形化界面)、CL…

    技术杂谈 2023年7月11日
    070
  • 知识图谱读书笔记5

    posted @2021-10-05 11:34 DarJeely 阅读(36 ) 评论() 编辑 Original: https://www.cnblogs.com/Jeely/…

    技术杂谈 2023年5月31日
    0127
  • ArcGIS Pro地图范围和视野范围

    csharp;gutter:true; atialReference sr3857 = SpatialReferenceBuilder.CreateSpatialReference…

    技术杂谈 2023年5月30日
    096
  • 景深计算公式

    δ——容许弥散圆直径f——镜头焦距F——镜头的拍摄光圈值L——对焦距离ΔL1——前景深ΔL2——后景深ΔL——景深 从上图表公式(1)和(2)可以看出,后景深>前景深。 景深…

    技术杂谈 2023年5月31日
    0134
  • 智能交通,gps北斗卫星时钟服务器的技术应用

    智能交通,gps北斗卫星时钟服务器的技术应用 智能交通,gps北斗卫星时钟服务器的技术应用 京准电子科技官微——ahjzsz 随着城市经济社会发展以及人口和机动车快速增长,建设新城…

    技术杂谈 2023年6月22日
    0127
  • 数组的旋转总结

    数组的旋转总结 数组的旋转指的是将数组的最后若干个数提前到数组前面,数组的翻转指的是将数组的顺序颠倒。 旋转可以通过多次翻转实现。 数组的翻转很简单,通过双指针来实现:交换数组的第…

    技术杂谈 2023年6月21日
    0115
  • subprocess模块简介

    subprocess模块可以执行系统命令,该模块允许用户创建一个新的进程,该进程会连接到input|output|error管道并获取到返回的状态码。 本文版本是以python3….

    技术杂谈 2023年7月11日
    0115
  • 接口

    一.抽象方法及抽象类 1-1 抽象方法 抽象方法:这种方法是不完整的,仅有声明而没有方法体。 public abstract void f(); 1-2 抽象类 包含抽象方法的类一…

    技术杂谈 2023年7月23日
    087
  • [数位dp] spoj 10738 Ra-One Numbers

    题意:给定x、y。为[x,y]之间有多少个数的偶数位和减去奇数位和等于一。 个位是第一位。 样例: 10=1-0=1 所以10是这种数 思路:数位dp[i][sum][ok] i位…

    技术杂谈 2023年5月31日
    0109
  • [转] 腾讯云微搭低代码

    https://cloud.tencent.com/document/product/1301/48874 腾讯云微搭低代码是高效、高性能的拖拽式低代码开发平台,向上连接前端的行业…

    技术杂谈 2023年5月30日
    0109
  • SpringBoot框架快速入门教程,初识springboot

    SpringBoot作为当下Java开发最常用的技术框架,相信你也一定听过很多次了。 那么到底什么是SpringBoot?SpringBoot又有什么用呢?跟着动力节点的视频带你快…

    技术杂谈 2023年7月25日
    085
  • Mysql InnoDB多版本并发控制MVCC

    参考书籍《mysql是怎&…

    技术杂谈 2023年7月25日
    0120
  • 《重构:改善既有代码的设计》 读书笔记 第二章

    第二章 重构的原则 2.1 何谓重构 重构分为了动词和名词两种意义。 重构(名词):对软件内部结构的一种调整,目的是不改变软件可观察行为的前提下,提高其可理解性,降低修改成本。 (…

    技术杂谈 2023年6月1日
    092
  • 架构安全性设计、部分示例及原理分析

    HTTP 协议是一种无状态的传输协议,每一个请求都是完全独立的,所以一般web开发都会采用cookie-session机制让服务器有办法能够区分出发送请求的用户是谁,在服务器中会维…

    技术杂谈 2023年7月25日
    087
  • swapToken

    swapExactTokensForTokens 根据精确的token交换尽量多的tokenswapTokensForExactTokens 使用尽量少的token交换精确的tok…

    技术杂谈 2023年5月31日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球