2
Phaserを使用して作成したHTML5ゲームにSeleniumを使用してキー入力を送信しようとしています。しかし、なぜ私はそれを働かせることができないのか困惑しています。 2048やGoogle、Pythonなどの他のウェブサイトで試してみると同じコードが動作します(ただし、phaserで構築された他のHTML5ゲームでは使用できません)。任意のヒントやポインタが非常に便利です! Pythonコードの下Seleniumを使用してHTML5ゲームにキー入力を送信
:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get("https://dry-anchorage-61733.herokuapp.com/") #this is game link
#driver.get("https://gabrielecirulli.github.io/2048/") #works for 2048
actions = ActionChains(driver)
for _ in range(6):
actions.send_keys(Keys.ARROW_UP).perform()
time.sleep(1)
actions.send_keys(Keys.ARROW_LEFT).perform()
time.sleep(1)
私は十分に感謝することはできません - 私は私のゲームのために働くためにセレンを取得しようと多くの時間を費やし、それは最終的に動作します。私の心の底から深い感謝!!!! –
Btw、好奇心から - send_keysとkey_downの違いは?キャンバスをクリックした後でも、send_keysメソッドは機能しませんが、key_downメソッドが機能します。 –
'key_down'はキーを押すだけの事象を誘発します(キーボードのキーを押して保持するのと同じように) ' send_keys'は、key_downとkey_upの両方を連続して起動する必要があります。なぜ私はそれが動作しないだろうか分からない –