selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:
我试图自动生成大量的用户在网页kahoot.it使用硒,使他们出现在类的前面,但是,我得到selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:
{"method":"id","selector":"inputSession"}
任何帮助将非常感激:试图访问inputSession项(其中你写的游戏ID进入游戏)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.kahoot.it")
gameID = driver.find_element_by_id("inputSession")
username = driver.find_element_by_id("username")
gameID.send_keys("53384")
这是错误时,此错误消息! :)
可能是查找元素在页面上出现之前执行的竞争条件。看看wait timeout documentation。下面是从文档
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
driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
finally:
driver.quit()
看起来它需要时间来加载网页,因此webelement的检测没有发生的例子。您可以使用@至尊的代码上面或只需添加这两个语句只是代码driver = webdriver.Firefox()
如下:
driver.maximize_window() //For maximizing window
driver.implicitly_wait(20) //gives an implicit wait for 20 seconds
这也有帮助。谢谢! – 2014-11-24 20:06:17
@MortenStulen:如果您发现它有帮助,请注册。谢谢.. :) – Subh 2014-11-24 20:08:31
我会如果我能。我刚刚创建了一个帐户,需要15点声望。 – 2014-11-24 20:35:58
如何在HTML是什么样子? – Saifur 2014-11-24 19:38:08
您可以查看kahoot.it的全部代码,但相关部分是:
– 2014-11-24 19:47:10