Web automation testing (basic knowledge)

1. Selenium introduces Webdriver

from selenium import webdriver

2. Start the browser

#正常启动
driver=webdriver.Chrome()
driver.get('网址')
#沙盒模式
opt = Options()
service = Service("浏览器驱动位置")
driver = webdriver.Chrome(chrome_options=opt,service=service)
driver.get("网址")

3. Basic browser operations

#窗口最大化
driver.maximize_window()
#窗口最小化 
driver.minimize_window()
#设置窗口大小
driver.set_window_size(480,800)
#浏览器回退、刷新、前进、获取浏览器url、获取浏览器名称、当前页面源码 
driver.back()
driver.refresh()
driver.forward()
driver.current_url
driver.title
driver.page_source           
#关闭浏览器
driver.quit()
driver.close()
#注:两者区别driver.close() 指关闭当前的窗口。主要应用于,有多个窗口,需要关闭其中某个窗口,继续执行其他窗口。driver.quit() 指关闭整个浏览器。如果浏览器有多个窗口,会同时关闭多个tab,不再做其他窗口操作。
#窗口截图
driver.save_screenshot("保存的图片名.png")

4. Multiple element locators

driver.find_element(by=By.ID, value="kw")#通过ID定位
driver.find_element(By.NAME,'wd')#通过name定位
driver.find_element(By.CLASS_NAME,'s_ipt')#使用class name元素定位时,不能使用复合class name
driver.find_element(By.TAG_NAME,'input')#标签名定位
driver.find_element(By.LINK_TEXT,'贴吧')#全链接定位
driver.find_element(By.PARTIAL_LINK_TEXT,'贴')#链接定位
driver.find_element(By.CSS_SELECTOR, '#kw')#css selector定位
driver.find_element(By.XPATH, "//*/input[@id='kw']")#XPATH定位

Usually for convenience, CSS selector and XPATH are mostly used to copy directly in the browser F12

 5. Element basic operation method

clear()#清除对象的内容
driver.find_element_by_id(‘kw’).clear()
send_keys()#在对象上模拟按键输入
driver.find_element(By.ID,‘kw’).send_keys(“12306”)
click()#单击对象,强调对象的独立性
driver.find_element(By.ID,‘su’).click()
submit()#提交表单,要求对象必须是表单
driver.find_element(By.ID,‘form’).submit()
size#返回对象的尺寸
driver.find_element_by_css_selector("#J_username").size
text#获取对象的文本
driver.find_element_by_css_selector(“a.sendpwd”).text
get_attribute(“属性名”)#获取对象的属性值
driver.find_element_by_css_selector("#J_username").get_attribute(“name”)
is_displayed()#用来判断对象是否可见,即css的display属性是否为none
driver.find_element_by_css_selector("#J_username").is_displayed()
is_enabled()#判断对象是否被禁用
driver.find_element_by_css_selector("#J_username").is_enabled()
is_selected()#判断对象是否被选中
driver.find_element_by_id(“head_checkbox”).is_selected()
tag_name#获取对象标签名称
driver.find_element_by_id(“head_checkbox”).tag_name
location#获取元素坐标
driver.find_element_by_id(“head_checkbox”).location

Guess you like

Origin blog.csdn.net/m0_58807719/article/details/130035054