博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebDriver--简单的元素操作
阅读量:5304 次
发布时间:2019-06-14

本文共 1391 字,大约阅读时间需要 4 分钟。

以登录163邮箱为例,演示以下几个方法的使用

①switch_to.frame()

②.clear()

③.send_keys()

④.click()

⑤switch_to_default_content()

 

一、先分析163邮箱登录首页的HTML代码如下截图所示,分析一下几个需要注意的地方

用Firefox浏览器,通过Firebug定位”邮箱账号“输入处,其html代码如截图中蓝色部分

先来分析一下该元素,其tag为input,其属性有id、class、type、name、style等等,

不难发现该元素的id属性值中带有数字,一般带有数字的id值是可变的,不唯一,保险起见,定位该元素时不用id的定位方式。

 

在邮箱地址输入框的上方,可以看出其嵌套在表单frame/iframe中,所以定位邮箱账号输入框时,先进入到frame/iframe表单中,

frame/iframe的定位方式有3种,一是通过id;二是通过name;三是xpath

例:switch_to_frame(id)  ; 或是  switch_to_frame(name);若frame没有id和name,只能是通过xpath方式定位到frame,switch_to_frame(xpath)

 

 

 二、具体的登录代码如下:

# -*- coding:utf-8 -*-from selenium import webdriverimport timedriver = webdriver.Firefox()driver.get("http://www.mail.163.com/")driver.switch_to.frame("x-URS-iframe")         #①switch_to.frame()进入到表单中     driver.find_element_by_xpath("//input[@class='j-inputtext dlemail']").clear()  #②定位邮箱地址输入框,有时输入框中记忆了上次的账号,所以用clear()先清理一下输入框中的内容driver.find_element_by_xpath("//input[@class='j-inputtext dlemail']").send_keys(username)   #③在邮箱地址输入框中用send_keys()输入用户名driver.find_element_by_xpath("//input[@class='j-inputtext dlpwd']").send_keys(password)   #③在密码输入框中用send_keys()输入密码driver.find_element_by_id("dologin").click()      #④click()点击登录按钮driver.switch_to.default_content()    #⑤switch_to.default_content() 退出所有的表单;switch_to.parent_frame()退出当前一级表单time.sleep(5)driver.quit()

 

 
若文中内容有误,希望大家指正,谢谢。

转载于:https://www.cnblogs.com/zhengyihan1216/p/6095543.html

你可能感兴趣的文章
c++回调函数
查看>>
linux下Rtree的安装
查看>>
【Java】 剑指offer(53-2) 0到n-1中缺失的数字
查看>>
Delphi中ListView类的用法
查看>>
多米诺骨牌
查看>>
Linq 学习(1) Group & Join--网摘
查看>>
asp.net 调用前台JS调用后台,后台掉前台JS
查看>>
Attribute(特性)与AOP
查看>>
苹果手表:大方向和谷歌一样,硬件分道扬镳
查看>>
Competing Consumers Pattern (竞争消费者模式)
查看>>
Android面试收集录15 Android Bitmap压缩策略
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>
ubuntu 安装后的配置
查看>>
web前端之路,js的一些好书(摘自聂微东 )
查看>>
【模板】对拍程序
查看>>
【转】redo与undo
查看>>
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>