基础知识
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()
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()
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信息
json格式好看点:
posted on 2019-07-12 22:19 cherry_ning 阅读(82) 评论(0) 编辑 收藏 举报