亿万教师在线注册平台怎样让selenium封闭最后一个标签且不加入阅读器

题目背景:

写了一个小脚本,监听redis中能否有url,假如有链接则调用FireFox翻开这个网页中断一系列操纵,操纵完成之后则持续监听。

如今的办法是操纵完之后直接driver.quit,然后监听到新的url时则重新启动,如许带来一个题目便是阅读器的启停十分耗费工夫。

我实行操纵完成之后用driver.close来封闭页面,但是发明没办法关失最后的那一个,并且假如这个时分driver.geturl会报错。

以是题目便是:

怎样翻开一个阅读器,当有新任务出去之后就翻开窗口操纵,操纵终了之后封闭统统窗口但不加入阅读器,等待下一个任务。

Firefox翻开tab和封闭tab的快捷键辨别为:

  • Ctrl+t

  • Ctrl+w

下面有一段实例代码演示怎样运用ActionChain来运用操纵快捷键:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

# launch our web driver and get a page
browser = webdriver.Firefox
browser.get"http://www.google.com/"

# try to open a new tab
ActionChainsbrowser.key_downKeys.CONTROL.send_keys"t".key_upKeys.CONTROL.perform
# 你可以自行添加封闭tab页面的快捷键抵达你的目标

我担忧楼上如许做存在波动危害…固然我没测试过..
提供一个思路你看可行否
设置一个空缺页面固然也可以加一点特别标识,比如<body>#*#</body>.比如在效力器上搭建一个空缺页面的地点,selenium启动后第一个翻开的页面便是这个
然后它不断被保存.
他实际所处的地位便是handles[0]
然后你在实行你的脚本.
翻开,实行完东西close就行了..正常情况下会不断保存这个空缺页面
假如更健壮一点,就写一个获取以后窗口句柄再加上判别
假如driver.find_element_by_css_selector”body”.text == “#*#”
return 前往一个你想前往的
不然持续driver.close
直到满意上一个条件…

(看完/读完)这篇文章有何感想! 亿万先生在线注册平台的分享…

发表评论

姓名 *
电子邮件 *
站点