web常用的的定位方法

web页面常有的字段有:输入框,按钮,富文本输入框,下拉框选项,弹窗,表格,上传文件以及时间插件,以下总结的没有编写时间插件的用例了!以后碰到再更新,

# _*_ coding=utf-8 _*_

from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time

def test(object):
    driver = webdriver.Firefox()
    driver.get('http://127.0.0.1:8081/')
    driver.maximize_window()
    driver.find_element_by_name("username").send_keys("admin")
    driver.find_element_by_name("password").send_keys("123")
    driver.find_element_by_name("validCode").send_keys(9999)
    driver.find_element_by_xpath("/html/body/div[1]/div[2]/ul/form/li[5]/button").click()
    time.sleep(2)
    driver.find_element_by_xpath("//*[@id='isp']/li[1]/a/span[1]").click()
    driver.find_element_by_id('9ab14bce07864d12b3ce2843315abc5c').click()
    time.sleep(2)
    #获取当前页面的权柄
    driver.window_handles
    #一个页面中存的多个iframe标签,切换到对应的iframe标签下才能正确的定位
    driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="content-main"]/iframe[2]'))
    print("切换iframe,以下代码在新的iframe中实现")
    driver.find_element_by_id("projectName").send_keys(123)
    #下拉框的两种选择方法  第一种
    # ss = driver.find_element_by_id('riskLevel').click()
    # ss.find_element_by_xpath('//*[@id="riskLevel"]/option[3]').click()
    #第二种选中下拉款必须导入from selenium.webdriver.support.ui import Select
    Select(driver.find_element_by_id('riskLevel')).select_by_index(2)
    time.sleep(2)
    s = Select(driver.find_element_by_name("borrowUse"))
    # s.select_by_index(2)
    s.select_by_value("购物消费")
    # Select(driver.find_element_by_xpath('//*[@id="form"]/ul/li[7]/div/div/select')).select_by_index(2)
    #上传文件
    driver.find_element_by_id('uploadFile2').send_keys(r"C:\Users\admin\Desktop\测试文档\图片\11693.jpg")
    time.sleep(3)
    #富文本数两种输入框进行输入
    # test_js = 'document.getElementById("ueditor_0").contentWindow.document.body.innerHTML="%s"' % (1111)
    # driver.execute_script(test_js)
    test_js = 'document.getElementById("ueditor_0").contentWindow.document.body.innerText="%s"'%("sdfsdf加下")
    driver.execute_script(test_js)
    #表格进行选择
    driver.find_element_by_xpath('//*[@id="form"]/ul/li[3]/div/div/button').click()
    #切换到弹框界面
    driver.switch_to_default_content()
    driver.find_element_by_id('keywords').send_keys(1231231)
    # driver.find_element_by_xpath('//*[@id="borrowSelect"]/div/div[1]/div/div/form/div/span/button').click()
    #选中表格信息中的数据信息
    # table = driver.find_element_by_xpath('//*[@id="gview_jqGrid"]/div[2]/div/table')
    # print("table表格总行数",len(table.find_elements_by_tag_name('tr')))
    table = driver.find_element_by_id('jqGrid')
    table_row = table.find_elements_by_tag_name('tr')
    print("table1表格总行数", len(table_row))
    #选中表格行与列的信息,以下是第二行与第二列,不算标题行
    row_col = table_row[2].find_elements_by_tag_name('td')[2]
    # 获取表格中的信息
    print(row_col.text)
    row_col.click()
    '''
    # 删除最后一行
    table_row[-1].find_element_by_tag_name('input').click()
    time.sleep(2)
    #警告框处理,accept()接受现有警告框,dismiss():解散现有警告框
    driver.switch_to_alert().accept()
    time.sleep(2)

    # 检查是否删除成功
    # time.sleep(2)
    # 第三种检查
    table_rows_sc = table.find_elements_by_tag_name('tr')
    print(len(table_rows_sc))
    if len(table_rows_sc) == len(table_row) - 1:
        print('检查:删除成功')
  '''
    driver.find_element_by_class_name('layui-layer-btn0').click()
  #关闭弹框后需要切换到以前的iframe中
    driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="content-main"]/iframe[2]'))
    driver.find_element_by_id('apr').send_keys(3)
   driver.qiut()
    
if __name__ == "__main__":
    tal(object)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值