1、定位元素
1.1 id定位元素
from selenium import webdriver
browser = webdriver.Chrome('/Applications/Python 3.8/chromedriver')
browser.maximize_window()
browser.get('url')
browser.find_element_by_id(file_name).send_keys(file_path)
1.2 xpath定位元素
browser.find_element_by_xpath(file_name).send_keys(file_path)
1.3 class定位元素
browser.find_element_by_class_name(file_name).send_keys(file_path)
1.4 link定位元素
browser.find_element_by_link_text(“详情”)
1.5 css定位元素
browser.find_element_by_css_selector("#hus").send_keys("selenium2")
2、元素操作
2.1 send_keys输入值
browser.find_element_by_id('accNo').send_keys(“4225438745541121154”)
2.2 click 点击
browser.find_element_by_id('accNo').click()
2.3 clear 清空元素
browser.find_element_by_id('accNo').clear()
2.4 back 回到前一个页面
browser.get(URL1)
browser.get(URL2)
browser.back()
2.5 forward 前进一个页面
browser.get(URL1)
browser.get(URL2)
browser.back()
browser.forward()
2.6 refresh 刷新
browser.get(URL1)
time.sleep(3)
browser.refresh()
2.7 submit 提交
browser.get(URL1)
browser.find_element_by_id(file_name).send_keys(file_path)
browser.submit()
2.8 title 获取页面的标题
browser.get(URL1)
print("页面标题是:%s" % browser.title)
2.9 current_url 当前页面的url
browser.get(URL1)
url=driver.current_url
print("当前页面的url是:%s" % url)
2.10 text 获取页面超链接的文本值
browser.get(URL1)
link1 = browser.find_element_by_link_text(“详情”)
text = link1.text
print("文本值是:%s" % link1)
2.11 tag_name 页面标签类型
browser.get(URL1)
link1 = browser.find_element_by_link_text(“详情”)
tag=link1.tag_name
print(tag)
2.12 is_enabled 页面元素是否可编辑
browser.get(URL1)
link1 = browser.find_element_by_link_text(“详情”)
tag=link1.is_enabled()
print(tag)
2.13 isDisplayed 判断元素是否用户可见
browser.get(URL1)
link1 = browser.find_element_by_link_text(“详情”)
tag=link1.is_displayed()
print(tag)
2.14 get_attribute 得到页面属性对应的值
browser.get(URL1)
link1 = browser.find_element_by_link_text(“详情”)
tag=link1.get_attribute("name")
print(tag)
3、浏览器设置
3.1 设置窗口最大化
browser.get(URL1)
browser.maximize_window()
3.2 设置窗口大小
browser.get(URL1)
browser.set_window_size(920,1024)
3.3 返回元素的大小
browser.get(URL1)
a = browser.find_element_by_css_selector("#kw").size
print(a)
3.4 关闭窗口,退出程序
browser.close()
browser.quit()
4、鼠标事件
4.1 context_click 右击操作
browser.get(URL1)
browser.maximize_window()
right_click = browser.find_element_by_css_selector("#kw")
ActionChains(browser).context_click(right_click).perform()
4.2 move_to_element 鼠标悬停
browser.get(URL1)
browser.maximize_window()
above = browser.find_element_by_link_text("设置")
ActionChains(browser).move_to_element(above).perform()
4.3 double_click 双击
browser.get(URL1)
browser.maximize_window()
double_click = browser.find_element_by_id("abank")
ActionChains(browser).double_click (double_click ).perform()
4.4 drag_and_drop 元素拖动
browser.get(URL1)
browser.maximize_window()
above = browser.find_element_by_link_text("新闻")
target = browser.find_element_by_id("kw")
ActionChains(browser).drag_and_drop(above,target).perform()
5、键盘事件
5.1 ENTER
from selenium.webdriver.common.keys import Keys
browser.get(URL1)
browser.maximize_window()
browser.find_element_by_id('bank').send_keys(Keys.ENTER)
5.2 TAB
from selenium.webdriver.common.keys import Keys
browser.get(URL1)
browser.maximize_window()
browser.find_element_by_id('bank').send_keys(Keys.TAB)
5.3 BACK_SPACE
from selenium.webdriver.common.keys import Keys
browser.get(URL1)
browser.maximize_window()
browser.find_element_by_id('bank').send_keys(Keys.BACK_SPACE)
5.4 SPACE
from selenium.webdriver.common.keys import Keys
browser.get(URL1)
browser.maximize_window()
browser.find_element_by_id('bank').send_keys(Keys.SPACE)
6、 设置等待
6.1 Sleep休眠方式
from selenium.webdriver.common.keys import Keys
browser.get(URL1)
browser.maximize_window()
time.sleep(2)
browser.find_element_by_id('bank').send_keys(Keys.ENTER)
time.sleep(2)
7、 获取最新话柄
7.1 获取最后一个页面的话柄
from selenium.webdriver.common.keys import Keys
browser.get(URL1)
browser.maximize_window()
time.sleep(1)
browser.switch_to.window(browser.window_handles[-1])
8、 调用javascript
8.1 获取最后一个页面的话柄
from selenium import webdriver
from time import sleep
browser= webdriver.Chrome()
browser.get('URL')
browser.maximize_window()
browser.find_element_by_id('kw').send_keys('selenium')
browser.find_element_by_id('su').click()
sleep(2)
js = "$('input[id=%s]').attr('readonly',false)" % time_id
browser.execute_script(js)
sleep(3)
9、 操作cookie
9.1 Get_cookie
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
cookie = driver.get_cookies()
print(cookie)
9.2 add_cookie
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})
cookie = driver.get_cookies()
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
9.3 delete_cookie
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})
cookie = driver.get_cookies()
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.delete_cookie('userName')
cookie2 = driver.get_cookies()
for i in cookie2:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
9.4 delete_all_cookies
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})
cookie = driver.get_cookies()
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.delete_all_cookies()
cookie2 = driver.get_cookies()
for i in cookie2:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()