1、欣赏器操纵
1)欣赏器最大化
driver.maximize_window()
2)树立欣赏器宽和高
driver.set_window_size(400,800)
3)遏制欣赏器进步、畏缩
driver.forward()
driver.back()
2、大略东西的定位
find_element_by_id()—-独一
find_element_by_name()—-独一
find_element_by_linx_text()—-笔墨超链接,笔墨定位
find_element_by_partial_link_text()—-笔墨超链接,局部笔墨定位
find_element_by_class_name()
find_element_by_tag_name())—-标签定位
find_element_by_xpath()
find_element_by_css_selector()
3、操抵制象元素
clear()—————废除实质,如默许用户名和暗号
click()————– 模仿鼠圈点击操纵
send_keys()——向输出框输出
submit()————提交表单
4、WebElement接口常用本领
size——————–归来元素尺寸
text———————-获得元素文本消息
get_attribute(name)————-获得元素某个属性值
is_displayde———————–该元素用户能否看来
5、鼠标事变
ActionChains类用来操纵鼠标事变
context_click()——————鼠标右击
double_click()——————鼠标双击
click()—————————–鼠圈点击
click_and_hold()—————按住鼠标左键不动
move_to_element(目的元素)————————挪动到某个元素
move_by_offset(xoffset,yoffset)——————–挪动到某个坐标
drag_and_drop(source,target)——将元素从开始source挪动到尽头target
drag_and_drop_by_offset(source,xoffset,yoffset)——-依照坐标挪动
release() 在某个元素上开释鼠标
ActionChains的实行道理
挪用ActionChains本领的功夫,用户动作不会连忙实行,而是将一切操纵放在一个部队中,当实行perform()本领时,依照放入部队的程序进步先出实行
如:
ActionChains(driver).context_click(操抵制象).perform()
6、键盘事变
Keys类操纵键盘事变
常用的拉拢键
send_keys(Keys.CONTROL,‘a’)—————-全选
send_keys(Keys.CONTROL,‘c’)—————-复制
send_keys(Keys.CONTROL,‘v’)—————-粘贴
send_keys(Keys.CONTROL,‘x’)—————-剪切
常用的非拉拢键
send_keys(Keys.ENTER)——————————–回车键
send_keys(Keys.BACK_SPACE)———————-简略键
send_keys(Keys.SPACE)——————————–空格键
send_keys(Keys.TAB)————————————构图键
send_keys(Keys.ESCAPE)——————————回退键
send_keys(Keys.F5)—————————————革新键
7、赢得页面URL和title
1)赢得暂时页面title,确定页面跳转能否适合预期
title = driver.title
2)赢得暂时URL,普遍用来尝试重定向
url = driver.current_url
8、树立等候功夫
sleep():树立恒定睡眠功夫。Python的time包供给sleep本领
implicitly_wait():webdriver供给的一个隐性等候的功夫,在一个功夫段内等候页面加载实行最长功夫等候,超时则抛出特殊
WebDriverWait():webdriver供给的另一个本领,在树立功夫内,默许每隔一段功夫去检验和测定页面元素能否生存,即使胜过树立功夫检验和测定不到则抛出特殊。
9、定位一组东西
find_elements归来的是一个list
定位一组东西,普遍运用于下列场景:
批量操抵制象,比方将页面上的CheckBox都选上
1)find_elements_by_tag_name()
2)find_element_by_css_selector()
10、定位frame中的东西
对准frame嵌套的情景,运用switch_to.frame(id/name/xpath)切换到被嵌套的frame中
11、多窗口处置
要想在多个窗口之间切换,开始要赢得每一个窗口的独一标识标记(句柄)。经过赢得的句柄来辨别分各别的窗口,进而对不同学口上的元素举行操纵
driver.current_window_handle———————-赢得暂时窗口的句柄
driver.window_handles——————————–赢得一切窗口的句柄
driver.switch_to_handle(“句柄”)———————切换回句柄分属的窗口
driver.close()———————————————封闭暂时窗口
driver.quit()———————————————–封闭一切窗口
12、下拉菜单处置
先定位到下拉菜单,再定位选项
1)下拉菜单需点击本领表露选项
有两次点击举措,第一次点击下拉菜单,第二次点击选项
2)下拉菜单不需点击,鼠标放上去就会表露选项,则不妨运用move_to_element()本领定位
3)对准下拉菜单标签是select的
导出Select类:from selenium.webdriver.support.select import Select
select_by_index(index)—————————按照index属性定位选项,index从0发端
select_by_value(value)—————————按照value属性定位
select_by_visible_text(text)———————-按照选项文本值来定位
first_selected_option()—————————-采用第一个选项
deselect_by_index(index)—————————按照index属性废除选定的选项,index从0发端
deselect_by_value(value)—————————按照value属性
deselect_by_visible_text(text)———————-按照选项文本值
deselect_all()——————————————–废除一切选项
13、上传文献
上传进程普遍是翻开一个体例的window窗口,从窗口采用文献增添,普遍会卡在怎样操纵Window窗口。
1)上传控件标签为input
只有定位上传按钮,经过send_keys()增添文献路途就不妨了。
2)上传控件标签为非input
不妨借助第三方东西:Autolt
14、载入文献
webdriver承诺树立默许载入路途,进而不妨跳过载入弹窗提醒
1)chrome载入
思绪:范例化一个option东西
树立摆设,并加载到option中
启用欣赏器,点击载入链接
download.default_directory:树立载入路途
profile.default_content_settings.popups:树立为 0 遏止弹出窗口
2)Firefox载入
对于Firefox,须要咱们树立其FirefoxProfile:
browser.download.dir:指定载入路途
browser.download.folderList:树立成2表白运用自设置载入路途;树立成0表白载入到桌面;树立成1表白载入到默许路途
browser.download.manager.showWhenStarting:在发端载入时能否表露载入处置器
browser.helperApps.neverAsk.saveToDisk:对所给出文献典型不复弹出框举行咨询
Firefox须要对准每种文献典型举行树立,这边须要咱们查问对应文献的MIME典型,不妨察看MIME 参考画册举行查问
15、挪用js和遏制欣赏器震动条
1)webdriver供给了execute_script(script,*args)本领挪用js
2)遏制欣赏器震动条
window.scrollTo()本领用来树立欣赏器窗口震动条的水宽厚笔直场所。本领的第一个参数表白程度的左间距,第二个参数表白笔直的上边距;经过javascript树立欣赏器窗口的震动条场所
js=“window.scrollTo(100,450);”
driver.execute_script(js)
16、处置cookie
driver.get_cookies()——————————-赢得一切cookie
driver.get_cookie(name)————————-赢得name属性的cookie
driver.add_cookie(cookie_dic)—————–增添cookie(cookie方法为字典)
driver.delete_cookie(name)———————简略一定cookie
driver.delete_all_cookies()———————-简略一切cookie