首页 > 解决方案 > Selenium 页面源与实际不匹配

问题描述

我试图解析推文(比方说https://twitter.com/Tesla),但我遇到了一个问题,一旦我使用html = browser.page_source它下载源代码与检查元素时看到的不匹配(Ctrl+Shift+一世)。它显示了一些推文,但不是几乎所有推文,此外,当将代码保存到文件并在 Chrome 中打开时,我得到了一些难以理解的东西。我以前有过使用 selenium 的经验,但从未遇到过这样的问题。也许还有其他一些功能可以获取源代码?

顺便说一句,我知道 Twitter 提供了一个 API,但他们没有给出任何理由就拒绝了我的请求,即使我不打算做任何违反他们条款的事情。

标签: pythonseleniumtwitter

解决方案


嘿,这是硒中最糟糕的做法之一

出于多种原因,不建议使用 WebDriver 登录 Gmail 和 Facebook 等网站。除了违反这些网站的使用条款(您有可能关闭帐户)之外,它速度慢且不可靠。

理想的做法是使用电子邮件提供商提供的 API,或者在 Facebook 的情况下使用开发人员工具服务,该服务公开了用于创建测试帐户、朋友等的 API。尽管使用 API 可能看起来有点额外的艰苦工作,但您将在速度、可靠性和稳定性方面得到回报。API 也不太可能更改,而网页和 HTML 定位器经常更改并需要您更新测试框架。

在测试的任何时候使用 WebDriver 登录第三方站点都会增加测试失败的风险,因为它会使测试时间更长。一般的经验法则是更长的测试更脆弱和不可靠。


推荐阅读