selenium打开新的标签页;关闭新打开的标签页

JavaScript020

selenium打开新的标签页;关闭新打开的标签页,第1张

通过执行js

from selenium import webdriver 

import time

# 方式1:通过执行js打开新的标签页driver = webdriver.Chrome()

driver.get("http://login.taobao.com")

js ="window.open('http://www.sogou.com')"driver.execute_script(js)

time.sleep(5)

driver.quit()

关闭标签页

driver.close()

1、jQuery 的所有功能来源于JavaScript,jQuery本身只是js的一个封装类库。

2、使用 JavaScript 只有关闭当前窗口的方法,而且会弹出确认框提示是否关闭。但是无法关闭当前浏览器的其他窗口。

3、JavaScript 没有这种方法,所有 jQuery 也没有。但是很多浏览器有这样的功能,就叫做关闭其他窗口或者关闭其他标签页。

4、希望对你有帮助。

可以 about:config 中启用 dom.allow_scripts_to_close_windows,可以关闭非子窗口。

可能弹出窗口阻止器拦截了(以及你禁用了通知?),非用户事件绑定则Firefox很容易拦截。

经测试,在选项>隐私与安全>权限>拦截弹出式窗口里把需要脚本运行的网站A加入运行列表也能够成功打开标签,这样的话就仅限于网站A,比较安全这个好像和禁用通知无关,因为地址栏左上角没看见和通知相关的图标,印象中如果禁用的话,会出现一个图标,点击可以再次允许加入弹窗白名单后已经可以实现OP中的需求,唯一的缺点是打开的标签总是前台的,查了下似乎JS并不允许更改标签的前后台打开行为;而油猴内置的GM_openInTab则是后台打开的,因为他返回是null,说不定就是用你连接中a.click()的方法实现的