基础知识

1、元素定位

 1 1、元素定位
 2 driver=webdriver.Chrome()
 3 driver.find_element_by_id("kw").send_keys("Selenium")
 4 driver.find_element_by_name('wd').send_keys('Selenium')
 5 driver.find_element_by_class_name('s_ipt').send_keys(''Selenium“”)
 6 driver.find_element_by_tag_name('input'[1]).send_keys(1244545)
 7 driver.find_element_by_link_text('程序开发').click()
 8 driver.find_element_by_partial_link_text('接口自动化').click()
 9 
10 driver.find_element_by_xpath('//input[@id="kw"]').send_keys('46646')
11 driver.find_element_by_xpath("//input[@name='wd']").send_keys('121314444')
12 driver.find_element_by_xpath("//*[@id='kw']").send_keys('qqfqff')
13 driver.find_element_by_xpath("//form[@id='form']/span[2]/input").click()
14 driver.find_element_by_xpath('//input[@id="kw"and@name="wd"]').send_keys(1546464)
15 
16 driver.find_element_by_css_selector('#kw').send_keys('qeeeee')
17 driver.find_element_by_css_selector('.s_ipt').send_keys('wrfmkernj')
18 driver.find_element_by_css_selector('[autocomplete="off"]').send_keys('vbjrb')
19 driver.find_element_by_css_selector('[id="kw"]').send_keys('wdfwr')
20 driver.find_element_by_css_selector('form[name="f"]>span[class="bgs_btn_wr"]>input').click()
21 driver.find_element_by_css_selector('form#loginForm>ul>input[type="password"]').send_keys(6666)
元素定位

2、下拉列表(只支持select元素)

1 from selenium.webdriver.support.ui import Select
2 select=Select(driver.find_element_by_css_selector("[name='CookieDate']"))
3 select.select_by_index(1)
4 select.select_by_value("2")
5 select.select_by_visible_text('留一年')
下拉列表

3、鼠标操作

1 from selenium.webdriver.common.action_chains import ActionChains
2 element=driver.find_element_by_css_selector('.s_ipt')
3 above=driver.find_element_by_class_name('pf')
4 双击:ActionChains(driver).double_click(element).perform()
5 右击:ActionChains(driver).context_click(element).perform()
6 悬停:ActionChains(driver).move_to_element(above).perform()
鼠标操作

4、键盘操作

1 from selenium.webdriver.common.keys import Keys
2 全选:driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')
3 复制:driver.find_element_by_xpath('//[@id="kw"]').send_keys(Keys.CONTROL,'c')
4 剪切:driver.find_element_by_css_selector('#kw').send_keys(Keys.CONTROL,'x')
5 粘贴:driver.find_element_by_class_name('secinput').send_keys(Keys.CONTROL,'v')
6 driver.find_element_by_id('stb').send_keys(Keys.ENTER)
键盘操作

5、元素等待及几种方法

 1 from selenium.webdriver.support.ui import WebDriverWait
 2 from selenium.webdriver.support import expected_conditionsasEC
 3 from selenium.webdriver.common.by import By
 4 
 5 element=WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located((By.ID,'su')))
 6 element=WebDriverWait(driver,5).until(lambdax:x.find_element_by_id('su'))
 7 element.click()
 8 
 9 from selenium.common.exceptions import NoSuchElementException
10 driver.implicitly_wait(5)
11 try:
12     print(ctime())
13     driver.find_element_by_css_selector(".sec-input").send_keys('selenium')
14     driver.find_element_by_css_selector("#stb").click()
15 except NoSuchElementException as msg:
16     print(msg)
17 finally:
18     print(ctime())
元素等待的几种方法

6、switch_to

1 1)进入内嵌网页
2 driver.switch_to.frame('search')
3 2)页面切换
4 index1=driver.current_window_handle(获取当前句柄)
5 indexs=driver.window_handles (获取所有句柄)
6 driver.switch_to.window(index1)
7 3)警告弹窗处理
8 alert=driver.switch_to_alert()
9 alert.accept()
switch_to

7、文件上传和滚动条操作

 1 1)文件上传
 2 driver.find_element_by_css_selector('.upload-pic').send_keys(r'E:\Python_script\1.png')
 3 
 4 2)滚动条操作
 5 拖到底部:js='var action=document.documentElement.scrollTop=10000'
 6 driver.execute_script(js)
 7 拖到顶部:js='var action=document.documentElement.scrollTop=0'
 8 driver.execute_script(js)
 9 拖动横坐标和纵坐标:js='window.scrollTo(0,1500)'
10 driver.execute_script(js)
文件上传和滚动条操作

8、截图、获取文本

1 driver.get_screenshot_as_file(r'E:\Python_script\51zxw.jpg')
2 driver.save_screenshot(r'E:\Python_script\51zxw.jpg')
3 
4 type_value = driver.find_element_by_id("").text
截图、获取文本

9、cookies处理

1 cookies=driver.get_cookies()
2 driver.add_cookie({'name':'JSESSIONID','value':'65591521ABB805039BD84881C3A0C014'})
3 driver.delete_all_cookies()
View Code

10、json

1 1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
2 (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
3 (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)
4 
5 2、json.dump()和json.load()主要用来读写json文件函数
6 json.dump()函数的使用,将json信息写进文件
7 json.load()函数的使用,将读取json信息
View Code

 json格式好看点:

posted on 2019-07-12 22:19  cherry_ning  阅读(82)  评论(0编辑  收藏  举报

导航