分享一下早期Selenium学习笔记

一、初始化浏览器

browser = webdriver.Chrome()#还支持EDGE、火狐等

二、前进后退

# 1.3访问界面
# 访问百度首页
browser.get('https://www.baidu.com/')
time.sleep(2)
# # 打开哔哩哔哩
browser.get('https://www.bilibili.com/')
time.sleep(2)
# 后退到百度页面
browser.back()
time.sleep(2)
# 前进到bilibili页面
browser.forward()
time.sleep(2)

三、定位页面元素

#可以根据id、class、xpath等定位,这里以id为例

driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
el=driver.find_element('id','kw')
el.send_keys('666')
time.sleep(100)
driver.close()

四、模拟鼠标操作

driver=webdriver.Chrome()

driver.get('https://www.baidu.com')

el=driver.find_element(by=By.XPATH,value='//*[@id="s-top-left"]/a[1]')

actions=ActionChains(driver)#创建动作链

actions.click(el)#... 添加一系列事件

actions.perform()#执行

time.sleep(2)

driver.close()

# 单击   click(el)
# 右击   context_click(el)
# 双击   double_click(el)
# 拖拽   double_and_drop(el)
# 悬停   move_to_element(el)
# 执行   perform()

五、模拟键盘操作

el.send_keys(Keys.SPACE)

# 删除键 send_keys(Keys.BACK_SPACE)
# 空格键 send_keys(Keys.SPACE)
# 制表键 send_keys(Keys.TAB)
# 回退键 send_keys(Keys.ESCAPE)
# 回车 send_keys(Keys.ENTER)
# 全选 send_keys(Keys.CONTRL,‘a’)
# 复制 send_keys(Keys.CONTRL,‘c’)
# 剪切 send_keys(Keys.CONTRL,‘x’)
# 粘贴 send_keys(Keys.CONTRL,‘v’)
# 键盘F1 send_keys(Keys.F1)

六、等待

#强制等待time.sleep(2)

#隐式等待driver.implicitly_wait(5)

七、切换

窗口切换:windows=driver.window_handles #windows是打开窗口的顺序列表,0代表首窗口,-1代表最后一个窗口

driver.switch_to.window(windows[0])

表单切换:switch_to.frame()

八、操作cookie

browser.get_cookies()

browser.add_cookie({'name':'坤哥', 'value':'帅哥'})

browser.delete_all_cookies()

九、断言使用

1.assert断言:

assert '百度新闻' in dr.title    

assert 'https://news.baidu.com/' == dr.current_url   

assert 'not found' not in dr.page_source  

element = dr.find_element('id', 'header-wrapper')

assert element is not None

2.unittest断言

self.assertEqual(1, 1)

self.assertNotEqual(1, 2)

self.assertTrue(True)

self.assertFalse(False)

self.assertIn('a', ['a', 'b', 'c'])

self.assertNotIn('d', ['a', 'b', 'c'])

附unnitest断言示例:

import unittest
class TestExample(unittest.TestCase):    
	def test_equal(self):        # 断言 1 和 1 是否相等        
	    self.assertEqual(1, 1)    
	def test_not_equal(self):        # 断言 1 和 2 是否不相等        
		self.assertNotEqual(1, 2)    
	def test_true(self):        # 断言 True 是否为 True        
		self.assertTrue(True)    
	def test_false(self):        # 断言 False 是否为 False        
		self.assertFalse(False)    
	def test_in(self):        # 断言 'a' 是否在列表 ['a', 'b', 'c'] 中        
		self.assertIn('a', ['a', 'b', 'c'])    
	def test_not_in(self):        # 断言 'd' 是否不在列表 ['a', 'b', 'c'] 中     
		self.assertNotIn('d', ['a', 'b', 'c'])
if __name__ == '__main__':    
 	unittest.main()

#测试秋招##牛客创作赏金赛#
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务