等待操作及简易js操作

一,等待

等待共有三种类型

1,固定等待

import time as t
#导入时间
t.sleep(5)
#固定等待5秒钟

 

2隐式等待:设置最长等待时间,针对网址的加载

driver.implicitly_wait(20)
#隐式等待

 

3,显式等待:针对具体网站中的某个点的等待,

from selenium.webdriver.support.ui import WebDriverWait
#显式等待导入的库
from selenium.webdriver.support import  expected_conditions as es
#一个庞大含有各种方法的库

 

复制代码
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://file.qq.com/')
driver.switch_to.frame('login_frame1')
driver.switch_to.frame('ptlogin_iframe')
driver.implicitly_wait(20)#隐式等待
wait=WebDriverWait(driver=driver,timeout=0.01).until(method=es.element_to_be_clickable((By.ID,'switcher_plogin')))
wait.click()
driver.quit()
复制代码

4浏览器的滑动

复制代码
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://4399.com/')
t.sleep(3)
down="var q=document.documentElement.scrollTop=10000"
driver.execute_script(down)
t.sleep(3)
up="var q=document.documentElement.scrollTop=0"
driver.execute_script(up)
t.sleep(3)
driver.quit()
复制代码

5,富文本的操作:需要用到js

复制代码
def richText(driver,content):
  '''
  实现在富文本里面输入内容
  :param driver: webdriver实例化后的对象信息
  :param content: 富文本里面需要输入的文字内容
  :return:
  '''
  js="document.getElementById('ueditor_0').contentWindow.document.body.innerHTML='{0}'".format(content)
  driver.execute_script(js)
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://uutool.cn/ueditor/')
driver.implicitly_wait(20)
richText(driver=driver,content='这是场游戏')
t.sleep(5)
driver.quit()
复制代码

6,时间控件:需要用到js

复制代码
取消时间控件的只读属性
取消只读属性后,操作input控件的value,其实我们知道input里面输入的内容最终是在value的属性里面。
def startTime(driver,content):
  '''开始时间控件'''
  js="$(\"input[placeholder='开始时间≥当前时间']\").removeAttr('readonly');" \
     "$(\"input[placeholder='开始时间≥当前时间']\").attr('value','{0}')".format(content)
  driver.execute_script(js)

def endTime(driver,content):
  '''结束时间控件'''
  js="$(\"input[placeholder='结束时间>开始时间']\").removeAttr('readonly');" \
     "$(\"input[placeholder='结束时间>开始时间']\").attr('value','{0}')".format(content)
  driver.execute_script(js)

driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///C:/Users/17645/OneDrive/%E6%A1%8C%E9%9D%A2/Time(1)/Time/index.html')
driver.implicitly_wait(20)
t.sleep(3)
startTime(driver=driver,content='2022-06-06 00:00:00')
t.sleep(3)
endTime(driver=driver,content='2022-07-01 00:00:00')
t.sleep(3)
driver.quit()
复制代码

 

posted @   柏舟0129  阅读(1434)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示