小编val*_*rse的帖子

使用Chrome时Selenium"selenium.common.exceptions.NoSuchElementException"

我正在尝试在Chrome上使用Selenium 播放QWOP,但我一直收到以下错误:

selenium.common.exceptions.NoSuchElementException: 
Message: no such element: Unable to locate element
{"method":"id","selector":"window1"
(Session info: chrome=63.0.3239.108
(Driver info: chromedriver=2.34.522913
(36222509aa6e819815938cbf2709b4849735537c), platform=Linux 4.10.0-42-generic x86_64)
Run Code Online (Sandbox Code Playgroud)

使用以下代码时:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

browser = webdriver.Chrome()
browser.set_window_size(640, 480)
browser.get('http://www.foddy.net/Athletics.html?webgl=true')
browser.implicitly_wait(10)

canvas = browser.find_element_by_id("window1")

canvas.click()

while (True):
    action = ActionChains(browser)
    action.move_to_element(canvas).perform()
    canvas.click()
    canvas.send_keys("q")
Run Code Online (Sandbox Code Playgroud)

相同的代码在Firefox上完美运行,但由于我想使用chrome的功能在无头模式下运行webgl游戏,我无法真正切换到Firefox.

有什么办法让这个工作吗?

python selenium google-chrome chromium selenium-chromedriver

7
推荐指数
1
解决办法
3015
查看次数

(全屏)应用程序顶部的Linux覆盖信息

我正在一个用于运行游戏的Linux平台上工作。在该平台,而游戏在全屏运行的,我需要能够在某些硬件输入,例如一个开关的翻转,冻结并禁用所有输入到游戏和覆盖信息在它的上面,就像例如在游戏中叠加Steam。我无法控制游戏的运行。

根据我在搜索时所能找到的东西,在OpenGL应用程序上叠加并不是一件容易的事。

我能想到的唯一其他方法是以某种方式迫使游戏进入无边框的全屏窗口模式,然后在其上渲染一个图层。不确定这样做是否可行

有没有办法我可以做到这一点?

linux x11 wayland

6
推荐指数
0
解决办法
273
查看次数

d3js 用鼠标中键平移

我最近将 D3.js 从 v3 升级到 v4,我注意到我无法再像使用左键一样通过按鼠标中键进行平移。通过比较 mbostock 的旧块和新块,似乎发生了同样的事情。

将编程平移+缩放 II v3平移和缩放轴 v4进行比较。尽管它们的代码和功能非常相似,但使用鼠标中键可以在 v3 上使用,但在另一种上则不行。

有谁知道在新版本上是否仍然可以使用鼠标中键进行平移?

javascript d3.js

4
推荐指数
1
解决办法
1584
查看次数