WebDriver API中常用的方法和属性
方法:
clear() --->清除一个文本输入框
p:driver.find_element_by_id("kw").clear()
send_keys() -->来输入字符串
p:driver.find_element_by_id("kw").send_keys("Selenium")
click() -->点击页面上支持点击的元素
driver.find_element_by_id("su").clear()
refresh()-->刷新页面的方法
p: driver.refresh()
back()-->从百度新闻后退到百度首页
p:driver.back()
forward()-->百度首页前进到百度新闻
p:driver.forward()
from selenium.webdriver.common.keys import Keys
driver.find_element_by_tag_name(‘body‘).send_keys(Keys.CONTROL + ‘t‘) ---> 快捷键是 ctrl + t ,新开一个浏览器tab
driver.find_element_by_tag_name(‘body‘) .send_keys(Keys.CONTROL + ‘a‘) -->快捷键是 Ctrl+a,全选当前页面文字
element = driver.find_element_by_id(‘kw‘)
element.send_keys("Selenium automation")
element.send_keys(Keys.BACKSPACE) -----》退格键删除Selenium automation这些文字
from selenium.webdriver import ActionChains from selenium.webdriver.common.keys import Keys element = driver.find_element_by_xpath("//*[@id=‘lg‘]/img") actionChains = ActionChains(driver) actionChains.context_click(element).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform() 注意:在火狐浏览器中,上面的这个方法是失效的,这是火狐的一个bug
driver.execute_script("window.alert(‘这是一个alert弹框。‘);") # 注意这里的分号是英文输入法的分号,不能用中文
driver.get_screenshot_as_file("C:\\Users\\你的账户名\\Desktop\\baidu.png") ---》截图并保存
print driver.current_window_handle # 输出当前窗口句柄 handles = driver.window_handles # 获取当前全部窗口句柄集合 print handles # 输出句柄集合 for handle in handles:# 切换窗口 if handle != driver.current_window_handle: print ‘switch to second window‘,handle driver.close() # 关闭第一个窗口 driver.switch_to.window(handle) #切换到第二个窗口
driver.switch_to.frame("iframe1") ---》iframe切换
find_element_by_link_text("地区") .execute_script("return arguments[0].scrollIntoView();",target_elem) ----->执行js脚本控制浏览器竖向滚动条 ,拖动到元素为“地区"的地方
maximize_window() --->设置浏览器全屏
p:driver.maximize_window()
driver.get_window_size()--->获取浏览器窗口的大小
driver.set_window_size(1280,800) -->设置窗口的分辨率是1280*800
.is_selected()-->判断单选或者多选控件是否被选中,返回值是布尔值
p:driver.find_element_by_xpath("//*[@id=‘news‘]").is_selected()
属性:
capabilities[‘version‘] -->浏览器version的值
p:driver.capabilities[‘version‘]
current_url--->获取当前页面的URL
p:driver.current_url
title-->获取当前页面的标题显示的字段
p:driver.title
driver.find_element_by_xpath("//*[@id=‘TANGRAM__PSP_8__error‘]").text ---》获取某一个元素的text属性值
driver.find_element_by_id(‘su‘).size --->获取id为su的元素的大小
# this is config file, only store browser type and server URL [browserType] #browserName = Firefox browserName = Chrome #browserName = IE [testServer] URL = https://www.baidu.com #URL = http://www.google.com
config.ini
def get_value(self): root_dir = os.path.dirname(os.path.abspath(‘.‘)) # 获取项目根目录的相对路径 print root_dir config = ConfigParser.ConfigParser() file_path = os.path.dirname(os.path.abspath(‘.‘)) + ‘/config/config.ini‘ config.read(file_path) browser = config.get("browserType", "browserName") url = config.get("testServer", "URL") return(browser,url) # 返回的是一个元组
读取配置文件内容
def get_system_time(self): print (time.time()) # time.time()获取的是从1970年到现在的间隔,单位是秒 print (time.localtime()) new_time = time.strftime(‘%Y-%m-%d %H:%M:%S‘, time.localtime()) # 格式化时间,按照 2017-04-15 13:46:32的格式打印出来 print (new_time)
系统时间和格式化时间显示
def get_search_result(self): driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(8) driver.get(‘https://www.baidu.com‘) driver.find_element_by_id(‘kw‘).send_keys(‘selenium‘) time.sleep(1) search_result_string = driver.find_element_by_xpath("//*/div[@class=‘nums‘]").text print (search_result_string) new_string = search_result_string.split(‘约‘)[1] # 第一次切割得到 xxxx个,[1]代表切割右边部分 print (new_string) last_result = new_string.split(‘个‘)[0] # 第二次切割,得到我们想要的数字 [0]代表切割参照参数的左边部分 print (last_result)
Python中字符串切割操作
原文地址:https://www.cnblogs.com/angelgril/p/7086718.html