等待操作及简易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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧