1. # 推荐学习:https://www.w3school.com.cn/js/index.asp
    #
    # 下面以简书登录&注册定位元素为例
    """
    js定位 id name class_name xpath css元素器

    除了id是定位到的是单个的element元素对象,其他的都是elements返回的是list对象
    1.通过id获取
    js_id = 'document.getElementById("id的值");'
    2.通过CLASS获取
    js_class = 'document.getElementsByClassName("class的值")[0];'
    3.通过Name获取
    js_name = 'document.getElementsByName("name的值")[0];'
    4.通过标签名选取元素
    js_tag = 'document.getElementsByTagName("tag的值")[0];'
    5.通过CSS选择器选取元素
    js_css = 'document.querySelectorAll("CSS Selector语法")[0];'
    """

    from selenium import webdriver
    import time as t

    driver = webdriver.Chrome()
    driver.get('https://www.jianshu.com/sign_in')

    #js id 定位注册
    js_id = 'document.getElementById("js-sign-up-btn").click();'
    driver.execute_script(js_id)
    t.sleep(2)

    #返回首页
    driver.get('https://www.jianshu.com/sign_in')

    #js CLASS 定位登录
    js_class = 'document.getElementsByClassName("active")[0].click();'
    driver.execute_script(js_class)
    t.sleep(2)


  1. #js Name 输入用户名
    js_name = 'document.getElementsByName("session[email_or_mobile_number]")[0].value="username";'
    driver.execute_script(js_name)
    t.sleep(2)

    #js tag 输入密码
    js_tag = 'document.getElementsByTagName("input")[3].value="123456";'
    driver.execute_script(js_tag)
    t.sleep(2)



  1. #js Css 点击登录
    js_css = 'document.querySelectorAll(".sign-in-button")[0].click();'
    driver.execute_script(js_css)
    t.sleep(2)



  1. driver.quit()

  1. """
    jquery操作处理
    jquery语法
    jq_id = '$("id").vla(值)' --输入文本内容
    jq_id = '$("id").click()' --点击
    jq 处理id 、type、tag层级定位
    """

    from selenium import webdriver
    import time as t

    driver = webdriver.Chrome()
    #简书站点
    driver.get('https://www.jianshu.com/sign_in')

    #根据id定位 #代表id
    jq_id = '$("#session_email_or_mobile_number").val("username")'
    driver.execute_script(jq_id)
    t.sleep(2)

    #根据type定位 type属性定位:属性值 输入密码
    jq_type = '$(":password").val("123")'
    driver.execute_script(jq_type)
    t.sleep(1)


  1. #按层次定位 勾选记住我
    #1.带有标签 type定位
    jq_remember = '$(".remember-btn > input:checkbox").val("123456")'
    driver.execute_script(jq_remember)
    t.sleep(2)
    #2.不带标签
    # jq_remember = '$(".remember-btn > :checkbox").click())'
    # driver.execute_script(jq_remember)
    # t.sleep(2)
    #3.不带层次符号
    # jq_remember = '$(".remember-btn :checkbox").click())'
    # driver.execute_script(jq_remember)
    # t.sleep(2)
    #4.选择最后一个标签(input)的元素
    # jq_remember = '$(".remember-btn > input:last").click())'
    # driver.execute_script(jq_remember)
    # t.sleep(2)


  1. #class 定位 定位登录按钮
    jq_remember = '$(".sign-in-button").click()'
    driver.execute_script(jq_remember)
    t.sleep(2)

    driver.quit()

selenium3 + python - js&jquery操作处理的更多相关文章

  1. js/jquery 操作document对象

    一.获取对象 //js获取的是dom对象,jquery获取的是jquery对象 //jquery对象可以输出dom对象,索引方式输出dom对象,eq()[]方式输出dom对象;eq()输出jquery ...

  2. JS/JQuery操作DOM元素笔记

    原因 自己目前在搭建一个.NET Core的框架,正在构建权限这块的东西,今天设置权限界面,需要使用JavaScript操作DOM元素,记录一下. 页面大概是酱紫的(我使用的AdminLTE和LayU ...

  3. selenium3 + python - js 内嵌滚动处理

    一.js内嵌html <!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  4. selenium3 + python - js处理readonly属性

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  5. JS JQuery 操作: Json转 Excel 下载文件

    方法的调用 var json = '[' + '{"申请流水号":"123456","保险公司":"测试数据",&quo ...

  6. Selenium2学习-014-WebUI自动化实战实例-012-Selenium 操作下拉列表实例-div+{js|jquery}

    之前已经讲过了 Selenium 操作 Select 实现的下拉列表:Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select,但是在实际的日 ...

  7. jquery操作iframe中的js函数

    关键字:jquery操作iframe中的js函数 1.jquery操作iframe中的元素(2种方式) var tha = $(window.frames["core_content&quo ...

  8. 原生JS和jQuery操作DOM的区别小结

    一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...

  9. js jquery select 操作 获取值,选中选项,增加,修改,删除

    select示例: <select id="sel"> <option value="1">one</option> < ...

随机推荐

  1. 反应式系统实现MQTT客户机

    反应式系统实现MQTT客户机 Implementing an MQTT client for reactive systems MQTT Reactive是从LiamBindle的MQTT-C库派生的 ...

  2. Spring:DI依赖注入的几种方式

    据我所学,spring实现依赖注入(DI)的方式分为三大类:基于构造器(构造方法)的依赖注入.基于setter的依赖注入.其他方式(c命名空间.p命名空间等).其中推荐使用setter方法注入,这种注 ...

  3. 实验1、初入Flask

    实验介绍 1. 实验内容 Flask是一个用Python编写的Web应用程序框架.Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask.Flask基于Werk ...

  4. 【NX二次开发】调整视图大小

    调整视图大小 tag_t tagView; UF_VIEW_ask_work_view(&tagView); UF_VIEW_fit_view(tagView, 0.7);//if NULL_ ...

  5. 【VBA】显示所有隐藏的名称管理器中的名称

    Excel提示这个 代码: Sub DisplayNames() Dim Na As Name For Each Na In ThisWorkbook.Names Na.Visible = True ...

  6. MySQL 架构|给你一个“上帝视角”

    "我平时的工作就是 CRUD (增删改查)呀!我怎么提升自己的技术?"."平时开发我都是用开源的 MyBatis.Hibernate,连原生的 sql 我都没写过几行&q ...

  7. .NET Core添加日志插件

    二. 首先控制器的方法中写: private readonly ILogger<fluueController> _logger; public fluueController(ILogg ...

  8. Linux 安装及管理程序

    Linux 安装及管理程序 目录 一.Linux应用程序基础 1.1.应用程序与系统命令的关系 1.2.典型应用程序的目录结构 1.2.常见的软件包封装类型 二.RPM包管理工具 2.1.RPM软件包 ...

  9. CentOS安装ffmpeg+h264

    CentOS安装ffmpeg+h264 前言 坑!坑!坑! 全是坑. 本文安装系统环境为CentOS7.2.我这里提供安装所需的四个源码包,均需要编译安装.所有组件最好都安装最新的稳定版,或者下载使用 ...

  10. Dagger2入门,以初学者角度

    2016-12-21 更新:添加@Subcomponent注解以及Lazy与Provider的使用,本文基本完结!如果有好的建议请提出,感谢大家的支持,谢谢 依赖注入 Dagger2是Android中 ...