python - selenium找不到元素的问题
大家讲道理
大家讲道理 2017-04-18 09:03:15
[Python讨论组]
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import  time

driver = webdriver.Chrome()
driver.get("http://en.savefrom.net/")

elem = driver.find_element_by_id("sf_url")
elem.clear()
elem.send_keys("https://www.youtube.com/watch?v=0BQdUrsDegM&index=1&list=PLUY1lsOTtPeJNBuSweXS9pcSKbP4mr32S")
elem.send_keys(Keys.RETURN)

time.sleep(5)
elem.find_element_by_id('sf_frame')

错误:

D:\Anaconda2\python.exe C:/Users/Administrator/PycharmProjects/untitled3/selenium-test.py
Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/untitled3/selenium-test.py", line 14, in <module>
    elem.find_element_by_id('sf_frame')
  File "D:\Anaconda2\lib\site-packages\selenium\webdriver\remote\webelement.py", line 138, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "D:\Anaconda2\lib\site-packages\selenium\webdriver\remote\webelement.py", line 478, in find_element
    {"using": by, "value": value})['value']
  File "D:\Anaconda2\lib\site-packages\selenium\webdriver\remote\webelement.py", line 461, in _execute
    return self._parent.execute(command, params)
  File "D:\Anaconda2\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "D:\Anaconda2\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element
  (Session info: chrome=51.0.2704.103)
  (Driver info: chromedriver=2.7.236900,platform=Windows NT 6.1 SP1 x86)
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
伊谢尔伦

找不到元素就只要两个原因:

1.元素是否已加载。
    # 等待直到元素出现, 点击
    def waitClick(self, time, element):
        try:
            print('元素加载, 页面等待中 ...')
            WebDriverWait(self.browser, time).until(EC.presence_of_element_located(element))
            self.browser.find_element(*element)

        except Exception,e:
            print('元素异常, 页面已截图 :')
            self.screenshot()
   
2.匹配是否写对。
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号