selenium+python自动化测试笔记

selenium+python学习小记

入门

  首先安装python(IDE推荐pycharm)和selenum,下载Chromedriver放在Chrome的安装目录下,具体的安装下载可以百度教程。

一切准备就绪之后来体验一下打开浏览器

from selenium import webdriver # 导入包

browser = webdriver.Chrome()       #指定浏览器
browser.get('https://www.baidu.com/')   #进入百度

打开浏览器进入百度,接下来使用百度的功能‘百度一下’

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://www.baidu.com/')
assert "https://www.baidu.com/" in browser.current_url
elem = browser.find_element_by_id("kw")
elem.send_keys("python")
browser.find_element_by_id('su').click()
print browser.page_source

上面知识简单的打开搜索操作,接下来写一个测试用例

from selenium import webdriver
import unittest
import time
import sys

reload(sys)
sys.setdefaultencoding('utf8')

class PythonOrgSearch(unittest.TestCase):
    def setUp(self):
        self.browser = webdriver.Chrome()

    def test_search(
            self):
        browser = self.browser
        browser.maximize_window()
        browser.get("http://www.baidu.com")
        assert ("百度一下,你就知道" == browser.title)
        elem = browser.find_element_by_name("wd")
        elem.send_keys("selenium")
        browser.find_element_by_id("su").click()

    def tearDown1(self):
        print ('关闭浏览器')
        self.browser.close()
if __name__ == "__main__":
    unittest.main()

页面操作

获取页面元素

获取页面元素方法有很多种,如下:

find_element_by_id()#通过元素id定位元素
find_element_by_name()#通过元素name定位元素
find_element_by_xpath()#通过xpath定位元素(比较厉害)
find_element_by_link_text()#通过连接定位元素
find_element_by_partial_link_text()
find_element_by_tag_name()#通过tag_name定位元素
find_element_by_class_name()#通过class定位元素
find_element_by_css_selector()#通过css定位元素

很多时候,当刷新页面获取页面元素失败,这里需要添加一个智能等待,等到页面加载出该元素再进行获取

from selenium.webdriver.support.ui import WebDriverWait

WebDriverWait(browser,10).until(lambda browser: browser.find_element_by_id('wd'))

页面元素获取成功后,接下来就是对元素进行操作,常见的操作方法有:

  • clear 清除元素的内容
  • send_keys 模拟按键输入
  • click 点击元素
  • submit 提交表单

一个简单的Chrome登录163邮箱的例子:

from selenium import webdriver    
from selenium.webdriver.common.keys import Keys    
import time  

# Login 163 email  
browser = webdriver.Chrome()    
browser.get("http://mail.163.com/")  

elem_user = browser.find_element_by_name("username")  
elem_user.clear  
elem_user.send_keys("*********")    
elem_pwd = browser.find_element_by_name("password")  
elem_pwd.clear  
elem_pwd.send_keys("******")    
elem_pwd.send_keys(Keys.RETURN)   # 也可以获取登录按钮,点击进行登录
time.sleep(5)   
browser.close()    
browser.quit()   

未完。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值