seelight自动操作


"""
输入起始数据和步长,进行实验,取得数据
"""


from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

class SeptucExp(object):
    def __init__(self):
        self = self



    def login(url,user,pw):
        browser.get(url)
        time.sleep(1)            # 输入网址后等
        browser.find_element_by_xpath('/html/body/div[2]/div[1]/div[1]/div/div[3]/a[1]').click()
        time.sleep(0.5)            # 找到‘登录’,点击后等
        browser.switch_to.frame(browser.find_element_by_tag_name("iframe"))      # 跳转到iframe
        input_user = browser.find_element_by_xpath('/html/body/div/div[1]/ul/li[1]/input')
        input_user.send_keys(user)           # 输入用户名
        input_pw = browser.find_element_by_xpath('/html/body/div/div[1]/ul/li[2]/input')
        input_pw.send_keys(pw)              # 输入密码
        browser.find_element_by_xpath('/html/body/div/div[1]/ul/li[4]/a[1]').click()
        time.sleep(1)             # 找到‘确定’,点击后等
        browser.find_element_by_link_text('仿真').click()
        time.sleep(1)             # 找到‘仿真’,点击后等
        browser.switch_to.window(browser.window_handles[1])           # 切换到第二个标签页,即仿真页面


    def begin_work(dist):
        begin = browser.find_element_by_id('seelightWindow109')
        ActionChains(browser).double_click(begin).perform()
        time.sleep(2)          # 找到‘10激光合束器’,双击后等
        browser.switch_to.frame(browser.find_element_by_tag_name("iframe"))        # 跳转到iframe
        browser.find_element_by_xpath('/html/body/div/div[1]/div[1]/ul/li[2]/input').clear()
        browser.find_element_by_xpath('/html/body/div/div[1]/div[1]/ul/li[2]/input').send_keys(str(dist))
        time.sleep(0.1)            # 找到‘相邻激光束中间距离’框,清空后输入dist数据,等
        browser.find_element_by_xpath('/html/body/div/div[3]/div[2]').click()    # 找到‘确定’,点击
        browser.find_element_by_id('btn_run').click()
        time.sleep(4)              # 找到‘开始’,点击后等

    def download():
        browser.find_element_by_id('btn_download').click()
        time.sleep(1)          # 找到‘下载’,点击后等
        browser.switch_to.frame(browser.find_element_by_tag_name("iframe"))
        browser.find_elements_by_tag_name('a')[0].click()
        time.sleep(0.5)         # 找到‘数据文件’,点击后等
        browser.find_elements_by_tag_name('a')[1].click()
        time.sleep(1)           # 找到‘数据文件’,点击后等
        browser.switch_to.default_content()
        time.sleep(0.2)           # 跳出iframe,回到主网页
        browser.find_element_by_xpath('/html/body/div[8]/div/table/tbody/tr[1]/td/button').click()
        time.sleep(0.2)           # 找到‘关闭’,点击后等



url ='http://www.seelight.net/'
user = 'sysu_19341030'
pw = 'hewei201031'
step = 0.000001                      #  设定步长
begin_number = 0.000000              #  设定起始数:步长的倍数
end_number   = 0.000701              #  设定结束数:步长的倍数

browser = webdriver.Chrome()
SeptucExp.login(url,user,pw)

for dist in [i*step for i in range(int(begin_number/step),int(end_number/step))]:
    if dist  > 0 :
        if (dist/step)%10 == 0:
            browser.quit()
            browser = webdriver.Chrome()
            SeptucExp.login(url,user,pw)              # 每填10个数重新登录一次
            print('')
    SeptucExp.begin_work(dist)                    # 开始填入数据实验
    SeptucExp.download()                          # 下载数据
    print(str(round(dist,6)),end=", ")
browser.quit()
print('实验完毕!')



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值