from time import sleep from selenium import webdriver class work: def __init__(self):#每次进行网页操作时都要进行登录,所以把登录初始化 self.driver = webdriver.Chrome()#使用谷歌浏览器 self.driver.get('http://localhost:8080/entropy/xapp/login/login.xsp')#获取网址 self.driver.maximize_window()#将浏览器页面放大 self.driver.find_element_by_id("userName").send_keys('admin')#通过定位输入框id输入用户名,element就是页面元素的对象 self.driver.find_element_by_name("userPass").send_keys(1)#通过定位用户名输入框name输入密码 self.driver.find_element_by_id("loginSubmit").click()#点击确认按钮 sleep(1)#停顿1秒给程序一秒缓冲的机会,以免定位不到下面的操作,减少错误 def server(self): sleep(1) self.driver.find_element_by_xpath('/html/body/div/div[2]/div[1]/ul/li[16]/div/div').click()#基础数据 sleep(1) self.driver.find_element_by_xpath('/html/body/div/div[2]/div[1]/ul/li[16]/ul/li[7]').click()#SIP服务器 sleep(1) self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/div/div[2]/div/div[1]/button[1]').click()#新建 self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/div/div[2]/div/div/form/div[1]/div/div/div[2]/div[1]/div/input').send_keys('9000服务器')#名称 sleep(1) self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/div/div[2]/div/div/form/div[2]/div[1]/div/div[2]/div/div/input').send_keys('192.168.3.100')#SIP服务器地址 sleep(1) self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/div/div[2]/div/div/form/div[2]/div[2]/div/div[2]/div/div/span[3]/span').click()#是否主服务器 self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/div/div[2]/div/div/div/button[1]').click()#确定 try: sleep(7) result = self.driver.switch_to.alert#对网页弹窗进行操作 print(result) print(result.text())#打印出弹窗的文本 except Exception as e: self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/div/div[2]/div/h2/div/button[2]').click()#删除 sleep(3) self.driver.find_element_by_xpath('/html/body/div[2]/div/div[3]/button[2]').click()#确认 self.driver.quit()#关闭网页 raise e (1)定位方式
find_element_by_id() find_element_by_Xpath() find_element_by_class_name() find_element_by_name() find_element_by_css_selector()#css选择器 find_element_by_link_text()#完整超链接 find_element_by_link_partial_text()#部分链接 find_element_by_tag_name ()#标签名
(2)操作 1.模拟浏览器、键盘
2.模拟鼠标
(3)下拉框操作 select = Select(driver.find_element_by_name('status')) # 找到 name 的选项卡 select.select_by_index(1) # index 索引从 0 开始 select.select_by_value("0") # value是option标签的一个属性值,并不是显示在下拉框中的值 select.select_by_visible_text(u"xxx") # visible_text是在option标签文本的值,是显示在下拉框的值 (4)弹窗操作 alert = driver.switch_to_alert() alert.accept() # 点击确认按钮 alert.dismiss() # 点击取消按钮 alert.text() # 返回alert/confirm/prompt中的文字信息 alert.send_keys(“hello”) # 向prompt中输入文字