我想在youtube实时聊天中发送剪贴簿聊天消息。 起初,我只是按照“https://www.youtube.com/watch?v=W2DS6wT6_48”中的方式进行了
但代码不起作用。
错误消息是
all_comments = driver.find_element_by_id(“all-comments”)
...
selenium.common.exceptions.NoSuchElementException:消息:{“errorMessage”:“无法找到带有'all-comments'的元素”,“request”:{“headers”:{“Accept”:“application / json “ ”接受编码“: ”同一性“, ”连接“: ”关闭“, ”内容长度“: ”93“, ”内容类型“: ”应用/ JSON;字符集= UTF-8“,” 主机“:” 127.0.0.1:12695" “User-Agent”:“Python-urllib / 2.7”},“httpVersion”:“1.1”,“method”:“POST”,“post”:“{\”using \“:\”id \“,\ “sessionId \”:\“e4b63b00-fe9c-11e6-a630-0fa086b5cd8d \”,\“value \”:\“all-comments \”}“,”url“:”/ element“,”urlParsed“:{”锚 “:””, “查询”: “”, “文件”: “元件”, “目录”: “/”, “路径”: “/元件”, “相对的”: “/元件”, “端口” : “”, “宿主”: “”, “密码”: “”, “用户”: “”, “用户信息”: “”, “权威”: “”, “协议”: “”, “源”: “/元素” “queryKey”:{}, “块”:[ “元件”]} “urlOriginal”: “/会话/ e4b63b00-fe9c-11E6-a630-0fa086b5cd8d /元件”}}
据我所知,没有任何元素名称是“所有评论”
因此,find_element_by_id
失败了。
然后,我尝试了一些id或xpath来捕捉聊天消息
但没有什么可以得到聊天消息。
有什么我做错的方式吗?
我如何废弃聊天消息?
答案 0 :(得分:0)
您永远无法访问iframe的内容。这是设计的。 iframe就像浏览器中的浏览器一样。
见https://en.wikipedia.org/wiki/Same-origin_policy
你必须从iframe读出src attribut,加载此页面然后过滤它。这将有效
答案 1 :(得分:0)
我知道这个帖子有点陈旧,但我能够使用casperjs刮掉youtube在线聊天。这是一项正在进行的工作,但你可以在这里获得要点