【发布时间】:2013-09-24 00:13:03
【问题描述】:
for i in driver.find_elements_by_class_name("endorse-count"):
try:
i.click()
except:
continue
elem = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.CLASS_NAME, "dialog-window")))
src = elem.get_attribute("innerHTML")
add_skill(name, src)
WebDriverWait(driver, timeout=10)
运行上述代码时出现以下错误 -
selenium.common.exceptions.StaleElementReferenceException: Message: u'Element is no longer attached to the DOM' ; Stacktrace:
at fxdriver.cache.getElementAt (resource://fxdriver/modules/web_element_cache.js:7646)
换行-
src = elem.get_attribute("innerHTML")
登录后,我正在 LinkedIn 用户个人资料页面上运行此代码。
我尝试将以下代码行放在“i.click()”之后-
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
但后来我看到函数“add_skill(name, src)”没有被调用,也没有调用 driver.manage() 之后的代码,尽管 for 循环和进一步的 i.click() 工作正常。
【问题讨论】:
标签: python dom selenium exception-handling selenium-webdriver