javascript - 使用 Python 和 selenium 访问网站时欺骗经过的访问时间
问题描述
好的,所以我正在尝试创建一个程序,允许我的 Gnome 桌面的背景进入 Google 的 chromecast 设备使用的壁纸流。
目前我在 Python 中使用循环函数,它使用 selenium 和 Chrome 网络驱动程序来获取在此处动态显示的图像:
https://clients3.google.com/cast/chromecast/home/
我的功能完全按照我想要的方式工作。但是问题是> 每当我在浏览器中访问该网站时,它开始以随机顺序显示随机壁纸,似乎有很多可能的壁纸可供选择,但每当您重新加载页面时,它总是只显示大约 5 个(最大)不同壁纸..由于我的脚本在每个循环中重新加载页面,我只能从中获得大约 5 种不同的壁纸,而网站上应该有很多可用的壁纸。
这让我产生了疑问:我是否可以使用 Python 的 selenium 以某种方式欺骗网站,让其认为我的存在时间超过了几秒钟,从而可能向我展示了不同的壁纸?
注意:我知道我也可以从非动态网站(例如这个)获取壁纸,我已经让那个可以工作,但现在的目标是实际利用 Chromecast 直播流。我已经搜索过某个地方是否有 API,但找不到,所以决定采用我目前的方法。
我当前的代码:
import io
import os
from PIL import Image
from pyvirtualdisplay import Display
from random import shuffle
import requests
import sched
from selenium import webdriver
import subprocess
import time
s = sched.scheduler(time.time, time.sleep)
def change_desktop():
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Chrome()
urllist = ["https://clients3.google.com/cast/chromecast/home/v/c9541b08", "https://clients3.google.com/cast/chromecast/home"]
shuffle(urllist)
browser.get(urllist[0])
element = browser.find_element_by_id("picture-background")
image_source = element.get_attribute("src")
browser.quit()
display.stop()
request = requests.get(image_source)
image = Image.open(io.BytesIO(request.content))
image_format = image.format
current_dir = os.path.dirname(os.path.realpath(__file__))
temp_local_image_location = current_dir + "/interactive_wallpaper." + image_format
image.save(temp_local_image_location)
subprocess.Popen(["/usr/bin/gsettings", "set", "org.gnome.desktop.background", "picture-uri", "'" + temp_local_image_location + "'"], stdout=subprocess.PIPE)
s.enter(30, 1, change_desktop())
s.enter(30, 1, change_desktop())
s.run()
解决方案
推荐阅读
- python - 尝试向 db 添加约束时迁移失败
- angular - 使用没有 npm 的 Angular 设置 Font Awesome 5 Pro
- python - “utf-8”编解码器无法解码位置 24 中的字节 0xa0:无效的起始字节
- javascript - 当我尝试部署反应 Heroku 应用程序时出现无效的主机头错误
- go - Golang 项目 Travis CI Build 失败并出现错误“Makefile:15: recipe for target 'test' failed'
- reporting-services - SSRS 报告给我一个汇总错误
- python - (Pandas) How to get count how often the same value as before occured ? (and extract a new Column out of it)
- python - pymongo.errors.OperationFailure:命令插入需要身份验证
- pdf - What "font type" are the 14 standard PDF fonts?
- javascript - 移动时将三角形点对准圆心