【问题标题】:How do I input information into a website with python?如何使用 python 将信息输入到网站中?
【发布时间】:2019-06-24 06:44:33
【问题描述】:

我有这个 python 代码,它使用模块 webbrowser 访问一个网站:

 import webbrowser
 webbrowser.open('kahoot.it')

如何在本网站的文本框中输入信息?

【问题讨论】:

  • 文本框通常只是一个发布请求。当您在文本框中手动输入信息(例如使用 chrome 的开发人员工具)时,查看网站的源代码或跟踪请求以查看要发布的信息。一旦你有了它,你可以使用“requests”包中的“requests.post()”。

标签: python


【解决方案1】:

根据您的活动的复杂程度(交互性、依赖脚本等),您可以使用requests,或者按照其他人的建议,使用selenium

Requests 允许您从网站发送和获取基本数据,您可能会在自动提交订单、查询 API、检查页面是否已更新时使用它...

Selenium 为您提供对“普通”浏览器的编程控制,这似乎更适合您的特定用例。

webbrowser 模块实际上只能(或多或少)打开浏览器。如果您想从应用程序内部打开链接,可以使用它。

【讨论】:

    【解决方案2】:

    我建议您为此使用 Selenium。

    这是一个示例代码:

    from selenium import webdriver 
    from selenium.webdriver.common.keys import Keys
    
    # driver = webdriver.Firefox() # Use this if you prefer Firefox. 
    driver = webdriver.Chrome()
    
    driver.get('http://www.google.com/')
    
    search_input = driver.find_elements_by_css_selector('input.gLFyf.gsfi')[0]
    search_input.send_keys('some search string' + Keys.RETURN)
    

    如果你熟悉 HTML 和 CSS,你可以更好地使用 Selenium。了解 Javascript/JQuery 也会有所帮助。

    您需要特定的 webdriver 才能正常运行:

    GeckoDriver (Firefox)

    Chrome

    还有其他可用的网络驱动程序,但前面的一个对您来说应该足够了。

    在 Windows 上,您应该将可执行文件与代码放在同一文件夹中。在 Ubuntu 上,您应该将 webdriver 文件复制到 /usr/local/bin/

    您不仅可以使用 Selenium 输入信息,还可以使用许多其他实用程序。

    【讨论】:

      【解决方案3】:

      我认为使用 webbrowser 模块是不可行的,我建议你看看Selenium

      How to use Selenium with Python?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-13
        • 1970-01-01
        • 1970-01-01
        • 2015-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多