Selenium自动化测试工具使用方法汇总
1、设置无头浏览器模式
fromseleniumimportwebdriver
fromselenium.webdriver.chrome.optionsimportOptions
chrome_options=Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
classXX(object):
self.driver=webdriver.Chrome(chrome_options=chrome_options)#设置无头
2、设置屏幕尺寸
self.driver.maximize_window()#最大
self.driver.get_window_size()#获取窗口尺寸
self.driver.set_window_size(1296,1000)#指定像素宽1296高1000
3、通过xpath获取元素并单击
element=self.driver.find_elements_by_xpath('//*[@id="disabled"]/li[3]/a')#element是获取的元素列表
element[0].click()
4、关闭单个窗口
#关闭单个窗口
self.driver.close()
5、退出driver程序,关闭浏览器
driver.quit()
6、获取input标签输入文字执行回车
fromselenium.webdriver.common.keysimportKeys
#输入主机名:spupa01bat04回车查询
element=self.driver.find_elements_by_xpath(input_enter_xpath)[0]
element.send_keys('spupa01bat04')
element.send_keys(Keys.ENTER)
7、执行双击
fromseleniumimportwebdriver
fromselenium.webdriverimportActionChains#该类可执行鼠标动作:双击拖拽等
self.driver=webdriver.Chrome()
self.acobj=ActionChains(self.driver)
checkName='风险'
#'"+checkName+"'是向标签xpath字符串路经引入的变量
Xpath="//span[text()='"+checkName+"']/../../..//span[text()='FSCapacity']"
el_01=self.driver.find_elements_by_xpath(Xpath)[0]#获取元素
self.acobj.double_click(el_01).perform()#执行双击
self.driver.implicitly_wait(20)
8、执行等待
#隐式等待:设置一个等待时间,如果在这个等待时间内,网页加载完成,则执行下一步;否则一直等待时间截止,然后再执行下一步。这样也就会有个弊端,程序会一直等待整个页面加载完成,直到超时,但有时候我需要的那个元素早就加载完成了,只是页面上有个别其他元素加载特别慢,我仍要等待页面全部加载完成才能执行下一步。
self.driver.implicitly_wait(10)
#显示等待:配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。它主要的意思就是:程序每隔xx检查一次,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException
fromselenium.webdriver.support.waitimportWebDriverWait
#超时时间为30秒,每0.2秒检查1次,直到class="tt"的元素出现
text=WebDriverWait(driver,30,0.2).until(lambdax:x.find_element_by_css_selector(".tt")).text
print(text)
#强制等待:简单粗暴效率低
fromtimeimportsleep
sleep(5)
9、浏览器全屏截图保存到指定路径
png01_path=os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),'resource','png_codes.png')
self.driver.save_screenshot(png01_path)
10、select下拉框的选值处理
fromselenium.webdriver.support.selectimportSelect
#定位下拉框对象
select_element=self.driver.find_elements_by_xpath(select_xpath)[0]
#构建下拉框对象
sel_obj=Select(select_element)
#通过value值进行选择:一周
sel_obj.select_by_value('168h')
11、#浏览器位置
#获取浏览器位置
position=driver.get_window_position()
print(position)
#设置浏览器位置
driver.set_window_position(100,100)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。