【发布时间】:2017-03-30 17:34:18
【问题描述】:
我在使用 python 3.5 时遇到 selenium 问题,安装所有 Windows 更新后,我的所有 selenium 脚本都损坏了,每次都会收到相同的错误:
Traceback(最近一次调用最后一次): 文件“C:/Users/Carlo/Desktop/CEx/src/IE.py”,第 12 行,在 a=driver.find_element_by_xpath("//*[@id='un']") 文件“C:\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 293 行,在 find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) 文件“C:\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 752 行,在 find_element '价值':价值})['价值'] 文件“C:\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 236 行,在执行中 self.error_handler.check_response(响应) 文件“C:\Python35-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第 192 行,在 check_response 引发异常类(消息、屏幕、堆栈跟踪) selenium.common.exceptions.NoSuchWindowException:消息:无法在关闭的窗口上找到元素
但是我真的不明白为什么,因为IE的窗口是打开的!
这是我的代码(只是为了检查为什么我不能让它工作得更多):
import time from
selenium import webdriver
driver = webdriver.Ie()
driver.get('http://gala.test-platform.celtrino.com/Login.aspx')
time.sleep(10)
driver.find_element_by_xpath(".//*[@id='un']")
代码在最后一行每次都失败,我仔细检查了 firepath 并且 xpath 是正确的,所以我真的不明白为什么它不起作用。
【问题讨论】:
-
.//*[@id=')un']"是否与您使用的XPath完全相同,或者id中有错字?显然是"un"而不是")un" -
我写错了,对不起:S 我只是纠正它
-
我猜,这与您的代码无关,而与软件有关。您使用最新的
IE webdriver-server版本吗? -
嗨@Andersson 非常感谢帮助我,我正在使用这个:IEDriverServer_x64_2.53.1
-
所以它必须是
IE浏览器问题。它的版本可能已更新,因此您可能需要降级到以前的版本
标签: python windows selenium xpath