Selenium中WebDriver API的使用(三)
2021-03-14 06:43
标签:img 注意 abi 句柄 clear tom pytho url 支持 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这些文字 driver.execute_script("window.alert(‘这是一个alert弹框。‘);") # 注意这里的分号是英文输入法的分号,不能用中文 driver.get_screenshot_as_file("C:\\Users\\你的账户名\\Desktop\\baidu.png") ---》截图并保存 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的元素的大小 Selenium中WebDriver API的使用(三) 标签:img 注意 abi 句柄 clear tom pytho url 支持 原文地址:https://www.cnblogs.com/angelgril/p/7086718.htmlfrom 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
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) #切换到第二个窗口
# 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
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)
文章标题:Selenium中WebDriver API的使用(三)
文章链接:http://soscw.com/essay/64462.html