当前位置: 首页 > 知识库问答 >
问题:

如何使用Python在浏览器中打开ChromeGoogle Sheet Doc?

扈俊健
2023-03-14

(问题编辑)我正在使用下面的代码尝试在我的Chrome浏览器上打开一个已经存在的Google工作表。要求是在浏览器中打开图纸。

但我不确定硒是否是最好的选择。是否有其他方式在浏览器中验证和访问/打开文档?

目前,我正在尝试使用硒进行锻炼。下面的代码将打开浏览器和登录屏幕。输入ID并单击[下一步]按钮后,我点击下面的屏幕。想不出如何绕过这个?

以下是代码(由@Priyank Vekariya建议更正):

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

#open Google logon
driver.find_element_by_name("identifier").send_keys("My_Email_@abc.com")
driver.find_element_by_id("identifierNext").click()

共有2个答案

池俊茂
2023-03-14

您应该在页面的html代码中验证标记的名称。当我检查元素的名称时,您试图查找的元素(电子邮件或电话)的名称不同。它在我的系统中将名称显示为“标识符”。您可以通过该元素的id进行尝试。所以,你应该替换下面的代码。也许这会有帮助。

driver.find_element_by_name("identifier").send_keys("My_Email_@abc.com")

谢谢你。

许彦
2023-03-14

更新

我曾尝试使用Google Chrome、Microsoft Edge和Mozilla Firefox通过Selenium直接登录Gmail或YouTube来访问Google Sheets。我还尝试通过堆栈溢出和其他服务使用侧通道Google登录。只有一次,在我被扔进疯狂的验证码巴士之前,我能够走得足够远。

在经历了所有这些失败之后,我决定进一步思考这个问题。我确定您无需登录Google即可访问Google Drive中的文档。您只需从控制文档的帐户共享Google工作表,该帐户具有使用Python读取工作表所需的权限。

共享工作表后,您可以使用Selenium访问和查询它。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("--disable-infobars")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-popup-blocking")

# disable the banner "Chrome is being controlled by automated test software"
chrome_options.add_experimental_option("useAutomationExtension", False)
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])

driver = webdriver.Chrome('/usr/local/bin/chromedriver', options=chrome_options)
driver.get('https://docs.google.com/spreadsheets/d/<google provided random string>/edit?usp=sharing')

这是共享的谷歌表单,无需登录即可访问或编辑。

原始帖子

谷歌禁止使用自动脚本,例如Selenium登录Gmail。

单击“了解更多”时,您会收到此消息。

请注意这一行:通过软件自动化而不是人工控制

>

  • 尝试使用Selenium登录Gmail帐户时出现“此浏览器或应用程序可能不安全”错误

    GMail正在阻止通过自动化(Selenium)登录

    正在尝试使用Selinum登录Gmail,但“此浏览器或应用程序可能不安全”

    您可以绕过此操作,但您必须通过另一个门户登录,例如Stack OverFlow,它将允许您使用您的Gmail凭据登录。一旦发生这种情况,您就可以访问您的Google表格。

    如果您需要这方面的帮助,请让我知道,我将尝试为您编写一些代码。

  •  类似资料:
    • 问题内容: 我想使用Python在本地计算机的网络浏览器(Chrome或Internet Explorer)中打开网站。 有没有可以为我做到这一点的模块? 问题答案: 该模块看起来很有希望

    • 这可能已经被问过了,但到目前为止,我根本找不到任何详细的解释,现有的留档似乎是为某种通灵者写的,他应该知道一切。 根据本手册,我添加了容器 然后我检查它以接收容器ip 检查的端口 并尝试用这个公式在浏览器中连接 它不起作用。 我是否做错了什么,或者我应该添加一些额外的东西,比如 apache 或其他东西的容器? 编辑 据我了解,在创建一些兔子容器后,现在我需要运行 Dockerfile 来创建映像

    • 问题内容: 可能已经有人问过这个问题,但是到目前为止,我根本找不到任何详细的解释,而现有的文档似乎好像是为应该了解所有知识的通灵者编写的。 按照本手册,我添加了容器 然后我检查了它以接收容器ip 检查端口 并尝试使用此公式在浏览器中进行连接 没用 我是在做错什么,还是应该添加一些其他内容,例如用于存放Apache或其他内容的容器? 编辑 据我了解,在创建了一些兔子容器之后,现在我需要运行Docke

    • 我是Python新手,我试图在Debian中使用Selenium,但它不起作用,更具体地说,它似乎处于循环中,什么也没发生。下一个脚本是我使用的测试: 当我中断脚本时,会出现以下文本: 回溯(最近一次通话最后一次): 文件“prueba_parseo.py”,第7行,在browser=webdriver中。Firefox()文件“/usr/local/lib/python2.7/dist pack

    • 全局基类 登录名 } 问题是,当运行此功能时,我得到了下面的错误,我不明白为什么会发生这种情况,因为它在错误的位置上没有给我任何帮助。 未定义步骤:给定I打开Chrome 未定义步骤:浏览网站时 未定义的步骤:然后我使用“user1”和“password1”登录网站

    • 我试图在浏览器中打开xls工作表,而不是在MS Excel中。我尝试使用但是不起作用。这是execute方法的完整代码: 无论如何,这可以从Microsoft Office excel应用程序打开excel,但只能通过从NetBeans运行项目。如果我尝试在没有Netbeans的情况下从Tomcat打开它,它是不起作用的。