python selenium弹出窗口提示处理

话不多说直接上原代码,应该能看懂吧,有问题可以一起讨论

import os, time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains


class WebObj(object):

  def __init__(self, *arge, **kw):
    ip = arge[0]
    # 获取谷歌插件的位置
    chr_path = os.path.join(os.getcwd(),"chromedriver")
    # 用谷歌浏览器开启
    # driver = webdriver.Chrome(executable_path=chr_path)
    self.driver = webdriver.Chrome('chromedriver')
    self.driver.get(ip)
    self.driver.implicitly_wait(2)
    
        
  def login(self, user, pwd):
    web = self.driver

    # 输入指定帐号
    time.sleep(2)
    web.find_element_by_xpath('//*[@id="user-name"]').clear()
    web.find_element_by_xpath('//*[@id="user-name"]').send_keys(user)
    # 输入密码
    time.sleep(2)
    web.find_element_by_xpath('//*[@id="pass_word"]').clear()
    web.find_element_by_xpath('//*[@id="pass_word"]').send_keys(pwd)
    # 点击
    time.sleep(2)
    web.find_element_by_xpath('//*[@id="login_btn"]').click()
    # 显性等待
    try:
      # 因是弹出窗口,所以使用显示等待的方式处理,报警信息
      a = WebDriverWait(web, 1, 0.5).until(EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div/div[1]')))
      # 增加延时,否则有些信息收不到
      time.sleep(0.1)
      print('检查打印:', a.text)
    except Exception as e:
      return print(e)
    finally:
      self.driver = web
  
  def folder(self):
    web = self.driver
    web.find_element_by_xpath('//*[@id="aside"]/div/div/ul/li[1]/a/i[2]').click()
    web.find_element_by_xpath('//*[@id="aside"]/div/ul[1]/li[1]').click()

    # 新建组织
    web.find_element_by_xpath('//*[@id="myContentCenter"]/button[1]').click()
    ## 选择表格组件,单击
    web.find_element_by_xpath('//*[@id="HotTable"]/div[1]/div/div/div/table/tbody/tr[1]/td[1]').click()
    ## 在指定的别一个组件下,写入表格信息
    web.find_element_by_xpath('//*[@id="HotTable"]/div[6]/textarea').send_keys('adfafda')
    web.find_element_by_xpath('//*[@id="myContentCenter"]/button[2]').click()

    # 警报
    try:
      # 因是弹出窗口,所以使用显示等待的方式处理,报警信息
      a = WebDriverWait(web, 1, 0.5).until(EC.presence_of_element_located((By.XPATH, '/html/body/div[4]')))
      # 增加延时,否则有些信息收不到
      time.sleep(0.1)
      print('检查打印:', a.text)
    except Exception as e:
      return print(e)

    # 查询信息
    table = web.find_element_by_xpath('//*[@id="HotTable"]/div[1]/div/div/div[1]/table/tbody')
    rows = table.find_elements_by_tag_name('tr')
    for var in rows:
      print(var.text, len(var))
    time.sleep(2)

  
  def quit(self):
    self.driver.quit()


本人的经验分享,希望可以帮助到你们,如何不对的地方,可以评论留言,帮我指正一下,如果帮助了你,请给我点个赞吧

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值