http://zzzscore.com/memory/
如果你进入链接,你会看到一个迷你游戏。我需要让这个小游戏自己来做。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome('../chromedriver')
driver.get('http://zzzscore.com/memory/')
driver.implicitly_wait(5)
def find_click():
picture1 = btns[0].value_of_css_property('background-color')
picture2 = btns[1].value_of_css_property('background-color')
picture3 = btns[2].value_of_css_property('background-color')
picture4 = btns[3].value_of_css_property('background-color')
picture5 = btns[4].value_of_css_property('background-color')
picture6 = btns[5].value_of_css_property('background-color')
picture7 = btns[6].value_of_css_property('background-color')
picture8 = btns[7].value_of_css_property('background-color')
picture9 = btns[8].value_of_css_property('background-color')
picture10 = btns[9].value_of_css_property('background-color')
picture11 = btns[10].value_of_css_property('background-color')
picture12 = btns[11].value_of_css_property('background-color')
picture13 = btns[12].value_of_css_property('background-color')
picture14 = btns[13].value_of_css_property('background-color')
picture15 = btns[14].value_of_css_property('background-color')
picture16 = btns[15].value_of_css_property('background-color')
for btn in btns:
if picture1 == picture2:
btn[1].click()
btn[5].click()
break
time.sleep(3)
# finding buttons
btns = driver.find_elements_by_css_selector('#body > div')
# looking <span>'s class
for b in btns:
val = b.find_element_by_css_selector('span').get_attribute('class')
print(val)
while True:
find_click()我只需要让迷你游戏自己运行,但我不知道该怎么做,我的精神崩溃了..说真的,你不必这么做,因为我知道我不擅长编程,英语也很差。如果你不介意花时间,请告诉我怎么解决这个问题。
发布于 2021-02-27 14:45:17
只需执行以下操作即可。通过等待元素加载来获取所有span文本。然后执行for循环以单击相似的值。
wait = WebDriverWait(driver, 3)
driver.get("http://zzzscore.com/memory")
images = wait.until(EC.presence_of_all_elements_located((By.XPATH,"//div[@class='grid x4']//span")))
#for image in images:
#driver.execute_script("arguments[0].removeAttribute('style')",image)
for i in images[:-1]:
for j in images[1:]:
if i.get_attribute('class')==j.get_attribute('class'):
i.click()
j.click()
#print(i.get_attribute('class'),j.get_attribute('class'))一种更困难但更快的方法是删除索引,而不是O(n^2)。
导入
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EChttps://stackoverflow.com/questions/66395971
复制相似问题