【发布时间】:2017-10-23 12:51:27
【问题描述】:
我是 Selenium 的新手,正在尝试抓取 YouTube,但遇到了一个奇怪的问题。我试图抓取以下 HTML:
这是我的代码:
a = w.find_element_by_xpath("//a[@class='yt-simple-endpoint style-scope ytd-video-renderer']")
当我在交互式 shell 中执行此操作时,它可以正常工作,但是当我在保存脚本后重新运行脚本时,它会显示一个错误,提示找不到该元素。
【问题讨论】:
-
请将代码插入文本而不是图片。
-
这似乎是时间问题。你可以尝试实现Implicit or Explicit wait
-
可能 a 元素进入了框架。在尝试查找元素之前,您应该更改为框架。
-
或者这个 xpath 可能有多个元素。尝试使用 findelements 函数,然后打印列表的大小。
-
我没有得到一件事。它在交互式 shell 中有效,但在我重新运行脚本时无效。此外,当我尝试抓取 Instagram 时,也会出现同样的问题。
标签: python selenium web selenium-webdriver web-scraping