zoukankan      html  css  js  c++  java
  • 源码阅读篇:简叙selenium的执行过程

    从理论上面说明

    https://blog.csdn.net/lovedingd/article/details/110929187
    浏览器会内置js的解释器(运行代码的环境),可以通过编写js代码控制浏览器进行相应的操作,但是没有内置python的解释器,所以我们不能直接通过python去控制浏览器,这个时候就需要一个中间人,这个中间人就是webdriver浏览器驱动包,他会将python代码映射成对应的js代码,让js去控制浏览器,达到间接控制的一个效果。webdriver本质上是一个web server服务,里面有很多的接口,这个服务会提供很多的接口,python将参数传递过来,然后webdriver调用内部的接口,让js操作浏览器执行操作。

    从源码上面说明
    image.png
    第一步:进行webdriver.Chrome()实例化
    image.png
    image.png
    其实就是相当于启动chromedriver.exe路径
    image.png

    webdriver做了两件事,第一件事初始化了一个服务器,第二件事创建了一个远程连接,然后后续对浏览器的操作,比如dr.get(),底层会将该方法转换成对应的接口地址,将传入的参数作为请求参数,通过RemoteConnection下面的方法向webdriver发送请求,然后webdriver执行请求下面的js代码,以此控制浏览器

    本文来自博客园,作者:中州韵,转载请注明原文链接:https://www.cnblogs.com/zhongzhouyun/p/14968005.html

  • 相关阅读:
    驱动
    设备编号
    makefile 中的赋值
    UART
    c 语言的复杂声明
    linux下arm汇编的常用指令解析
    linux下的arm汇编程序
    ok6410下的uboot分析与实现
    层级选择器的理解
    css外部样式的理解
  • 原文地址:https://www.cnblogs.com/zhongzhouyun/p/14968005.html
Copyright © 2011-2022 走看看