python学习之UI自动化常用的webdriver的10个方法

webdriver常用的方法

1,clear():清除文本

2,send_keys():输入文本

3,click():点击元素

4,refresh():刷新页面

5,submit():提交,功能同click(),但用的没有click广泛

6,size:返回元素的尺寸

7,text:获取元素的文本

8,get_attribute(name):获取属性值

9,is_displayed():设置该元素是否用户可见,可见返回true,否则返回false

10,getPageSource():获取页面源码

#coding:utf-8

from selenium import webdriver

import time

import re

webdriver常用的方法

1,clear():清除文本

2,send_keys():输入文本

3,click():点击元素

4,refresh():刷新页面

5,submit():提交,功能同click(),但用的没有click广泛

6,size:返回元素的尺寸

7,text:获取元素的文本

8,get_attribute(name):获取属性值

9,is_displayed():设置该元素是否用户可见,可见返回true,否则返回false

10,driver.page_source:获取页面源码

class fenxiangbe:

driver,驱动打开浏览器

def driver(self):

self.browser = webdriver.Chrome()

self.browser.maximize_window()

self.browser.get(https://www.fenxiangbe.com)

self.browser.implicitly_wait(10) # 隐形等待10s,页面加载完则继续,没有加载完等10s后继续

登录

def login(self):

self.driver()

self.browser.find_element_by_xpath(//a[@class="signin-loader"]).click()

self.browser.implicitly_wait(10) # 隐形等待10s,页面加载完则继续,没有加载完等10s后继续

# 9,is_displayed():设置该元素是否用户可见,可见返回true,否则返回false

time.sleep(1)

isdisplay = self.browser.find_element_by_css_selector(.sign-info>a).is_displayed()

if isdisplay:

self.browser.find_element_by_css_selector(#inputEmail).send_keys(测试)

self.browser.find_element_by_css_selector(#inputPassword).send_keys(ceshiceshi)

self.browser.find_element_by_xpath(//form[@id="sign-in"]/div/input[1]).click()

else:

print(可以注册)

登录后点击会员中心进入管理端操作

def manage(self):

self.login()

#self.browser.implicitly_wait(10) # 隐形等待10s,页面加载完则继续,没有加载完等10s后继续

time.sleep(1)

self.browser.find_element_by_xpath(//div[@class="topbar"]/a[last()]).click()

self.browser.implicitly_wait(10) # 隐形等待10s,页面加载完则继续,没有加载完等10s后继续

self.browser.find_element_by_xpath(//ul[@class="usermenu"]/li[4]/a).click()

#1,clear():清除文本

self.browser.find_element_by_xpath(//ul[@class="user-meta"]/li[4]/input).clear()

#2,send_keys():输入文本

self.browser.find_element_by_xpath(//ul[@class="user-meta"]/li[4]/input).send_keys(测试{}.format(self.datestr()))

#3,click():点击元素

self.browser.find_element_by_xpath(//input[@evt="info.submit"]).click()

time.sleep(0.5)

#4,refresh():刷新页面

self.browser.refresh()

#6,size:返回元素的尺寸

sizes=self.browser.find_element_by_xpath(//input[@name="nickname"]).size

print(sizes)#{height: 34, width: 380}返回的尺寸的值

#7,text:获取元素的文本

texts=self.browser.find_element_by_xpath(//ul[@class="user-meta"]/li[4]/label).text

print("{}是:测试{}".format(texts,self.datestr()))#返回的结果昵称是:测试,获取text是昵称

#8,get_attribute(name):获取属性值

attribute_type=self.browser.find_element_by_xpath(//input[@evt="info.submit"]).get_attribute(value)

print(属性值是:{}.format(attribute_type))#属性值是:确认修改资料,获取value里面的值

self.browser.find_element_by_xpath(//ul[@class="site-nav site-navbar"]/li[@id="menu-item-173"]/a).click()

#10,browser.page_source:获取页面源码

page=self.browser.page_source

self.browser.implicitly_wait(10) # 隐形等待10s,页面加载完则继续,没有加载完等10s后继续

#findall返回string中所有pattern想匹配的字符串,返回形式为元祖,findall(pattern,string,flags=0)

find_all = re.findall(html" title="(.*?)">, page)

for title in find_all:

print(title)

self.browser.close()

def test(self):

self.driver()

# self.browser.find_element_by_xpath(//a[@class="signin-loader"]).click()

# self.browser.implicitly_wait(10) # 隐形等待10s,页面加载完则继续,没有加载完等10s后继续

# isdisplay = self.browser.find_element_by_css_selector(.sign-info>a).is_displayed()

# if isdisplay :

# print(可以登录)

# else:

# print(可以注册)

page = self.browser.page_source

self.browser.implicitly_wait(10) # 隐形等待10s,页面加载完则继续,没有加载完等10s后继续

# findall返回string中所有pattern想匹配的字符串,返回形式为元祖,findall(pattern,string,flags=0)

find_all = re.findall(html" title="(.*?)">, page)

for title in find_all:

print(title)

self.browser.close()

def datestr(self):

times=int(time.time())

return times

if __name__ == __main__:

fen=fenxiangbe()

fen.manage()

#fen.datestr()

# fen.test()

打开凤凰新闻,查看更多高清图片