Anu*_*oob 5 python selenium python-2.7 selenium-chromedriver selenium-webdriver
我正在使用Selenium从网站上抓取数据.该网站需要窗口焦点,以显示我需要的某些元素.
我希望能够在后台运行我的程序,而不必在窗口运行时对其进行聚焦.
有没有办法欺骗网站认为它专注于?
我正在使用硒铬驱动器.
编辑:这是我建立的快速而肮脏的测试.
查看GitHub上的代码
window.onblur收到活动后,网站背景颜色将变为黑色,并在window.onfocus收到活动时返回白色.
我想假装那些事件,让浏览器认为它已经收到了焦点事件.
由于页通过获得焦点的信息onfocus,并onblur在回调window对象,你可以自己打电话给他们.
browser.execute_script("window.onfocus()")
browser.execute_script("window.onblur()")
Run Code Online (Sandbox Code Playgroud)
为了好玩,试试这个脚本:
from selenium import webdriver
import time
chromedriver = "./chromedriver"
browser = webdriver.Chrome(executable_path = chromedriver)
browser.get('http://anubiann00b.github.io/FocusTest/')
while True:
browser.execute_script("window.onfocus()")
time.sleep(1)
browser.execute_script("window.onblur()")
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
当然,如果你想让浏览器认为它总是集中在一起,那么让onblur方法调用onfocus方法:
browser.execute_script("window.onblur = function() { window.onfocus() }")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |