在自动化测试框架上登录Google日历

时间:2019-09-02 07:14:52

标签: selenium google-chrome authentication selenium-webdriver browser

根据this,Google不支持使用自动化测试框架登录。我正在尝试使用从here抓取的游戏发行数据填充日历,以使我可以在reddit上共享一个公共日历。我已经抓取了数据,但现在我什至无法通过网络驱动程序登录Google。有什么解决方案?

driver = webdriver.Chrome()
driver.get("https://calendar.google.com/calendar/r")
pdb.set_trace()
#manual log in gives error 

错误消息:您正在尝试使用不允许我们保护您帐户安全的浏览器或应用登录。 尝试使用其他浏览器Learn More

1 个答案:

答案 0 :(得分:0)

通过在Chrome中设置User-Agent,可以解决此问题。

要实现此目的,您需要使用chrome用户代理命令行选项。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
opts = Options()
opts.add_argument("user-agent=PUT_USER_AGENT_HERE")

driver = webdriver.Chrome(chrome_options=opts)
driver.get("https://calendar.google.com/calendar/r")
pdb.set_trace()
#manual log in gives error 

如何获取用户代理:

  • 打开您的实际浏览器。
  • 右键单击并打开检查元素。
  • 现在进入控制台。
  • 现在复制粘贴以下代码。

代码:

navigator.userAgent

示例: Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 67.0.3396.87 Safari / 537.36

相关问题