zoukankan      html  css  js  c++  java
  • selenium页面元素操作(简易版)

    介绍一下,这是处理页面元素的基本方法,@selenium

    • 发送文字    element.send_keys(keys_to_send)
    • 单击      element.click()
    • 提交表单   element.submit()

    这两个方法,只要我们导入了webdriver的包,就可以使用。

    以火狐首页为例,先来看下火狐首页的基本情况:

    <!-- 1 -->
    <
    input id="search-key" class="engine-key" maxlength="100" autocomplete="off" type="text"/>
    <!-- 2 -->
    <
    input id="search-submit" class="btn-engine" value="" type="submit"/>

    发送文字

    driver.find_element_by_id("search_key").send_keys("selemnium")

    多说一句,如果发送的是汉字,send_keys的参数需要使用u"待发送内容”的形式,u指的是utf-8编码,这样做是为了避免浏览器的编码和编译器的编码不同而陈尚的错误。

    driver.find_element_by_id("search_key").send_keys(u"待发送")

    左键点击“搜索”

    driver.find_element_by_id("search-submit").click()

    提交表单submit,一般用于模拟回车键,在表单输入完成之后,可以选择点击提交按键,也可以选择回车提交

    例:在火狐首页搜索“追光者”

    driver.find_element_by_id("search-key").send_keys(u"追光者")
    driver.find_element_by_id("search-submit").submit()

    附:网易邮箱登录demo

    Login E-mail
    #导入驱动的包和控制时间的包
    from selenium import webdriver
    import time
    
    #设置要打开的网页链接
    url="https://www.baidu.com"
    
    #初始化驱动
    driver = webdriver.Firefox()
    
    #打开百度
    driver.get(url)
    
    #等待页面加载完成
    time.sleep(3)
    
    #搜索163邮箱
    driver.find_element_by_id("kw").send_keys("163邮箱登录")
    time.sleep(3)
    driver.find_element_by_id("su").click()
    
    #定位账号密码,账号密码自行修改
    driver.find_element_by_class_name("op_email3_username").send_keys(" XXX")
    driver.find_element_by_class_name("op_email3_password").send_keys("XXX")
    #定位登录
    driver.find_element_by_xpath(".//*[@id='1']/div[1]/div/form/table/tbody/tr[3]/td[2]/a[1]").click()
    time.sleep(3)

  • 相关阅读:
    C#WinForm隐藏窗体关闭按钮的方法
    VPRO工具失败时对输出的一种处理方式
    在linux系统下进行pip升级注意事项
    浏览器遮罩层
    关于手机微信端ios的input不能选中问题解决方案
    微信公众号页面遇到的坑
    移动端微信页面的一些自己爬的坑
    使用JS获取上一页的url地址
    vuejs 入门
    python 学习路程(一)
  • 原文地址:https://www.cnblogs.com/wulisz/p/7640510.html
Copyright © 2011-2022 走看看