以下是使用Selenium和Firefox的解决方案:
打开浏览器窗口并导航到url
等待练习环节出现
提取包含部分文本的所有跨距元素
创建输出字符串。如果第一个单词只有一个字母,则只有两个跨元素。如果单词有多个字母,则将有3个跨元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = 'http://play.typeracer.com/'
browser = webdriver.Firefox()
browser.get(url)
try: # waiting till link is loaded
element = WebDriverWait(browser, 30).until(
EC.presence_of_element_located((By.LINK_TEXT, 'Practice')))
finally: # link loaded -> click it
element.click()
try: # wait till text is loaded
WebDriverWait(browser, 30).until(
EC.presence_of_element_located((By.XPATH, '//span[@unselectable="on"]')))
fin