Python 使用脚本登录到网站

Python 使用脚本登录到网站,python,Python,我实际上正在编写一个windows脚本,单击该脚本将打开我的默认web浏览器,打开一个页面,输入我的登录详细信息,然后提交表单 到目前为止,我所能做的就是用以下方法打开浏览器: explorer http:\\outlook.com\website.com 由于我找不到任何说明如何执行此操作的资源,我查看了python脚本并找到了两个库,即urllib和webbrowser。我知道urllib是用来抓取网站的。但我不知道如何在web浏览器中模拟同样的情况。webbrowser库只有在新选项卡等

我实际上正在编写一个windows脚本,单击该脚本将打开我的默认web浏览器,打开一个页面,输入我的登录详细信息,然后提交表单

到目前为止,我所能做的就是用以下方法打开浏览器:

explorer http:\\outlook.com\website.com
由于我找不到任何说明如何执行此操作的资源,我查看了python脚本并找到了两个库,即
urllib
webbrowser
。我知道
urllib
是用来抓取网站的。但我不知道如何在web浏览器中模拟同样的情况。
webbrowser
库只有在新选项卡等中打开页面的命令

请告诉我如何使用python或windows脚本完成此任务

编辑:我将用户名和密码保存在浏览器中,以便自动填充。我只想模拟按下“回车”键。

IEC

对我来说,从Python控制浏览器最容易使用的选项是。我发现像你描述的那样简单的东西很容易用

IEC是一个python库,旨在帮助您自动化和控制Internet Explorer窗口。您可以使用此库导航到网页,读取各种HTML元素的值,设置复选框、文本框、单选按钮等的值,单击按钮并提交表单

此库的典型用途包括:

  • 编写测试脚本以自动检查web应用程序

  • 自动管理在线帐户

  • 自动记录和下载网络邮件

  • 定期监视基于web的应用程序的故障

如果你想避开网络博览会(谁不愿意呢?),那么你可以使用
selenium
。要安装它,请执行以下操作:

$ pip install -U selenium
这里有一些关于如何使用Chrome on以
selenium
登录站点的详细信息。重要的部分是:

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

chromedriver = 'C:\\chromedriver.exe'
browser = webdriver.Chrome(chromedriver)
browser.get('http:\\outlook.com\website.com')

username = selenium.find_element_by_id("username")
password = selenium.find_element_by_id("password")

username.send_keys("YourUsername")
password.send_keys("Pa55worD")

selenium.find_element_by_name("submit").click()
是一种设计用于测试网站的工具,因此它能够管理多种浏览器

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import time

browser = webdriver.Firefox()
browser.get("http:\\outlook.com\website.com") 
time.sleep(10) 
username = browser.find_element_by_id("user_input_id") 
password = browser.find_element_by_id("password_input_id")
username.send_keys("your_username") 
password.send_keys("your_password") 
login_attempt = browser.find_element_by_xpath("//*[@type='submit']")
login_attempt.submit()
要检索默认浏览器名称,可以使用并创建webbrowser类类型和selenium浏览器驱动程序之间的映射

browser = webbrowser.get()
print browser.__class__

前面所有的答案都是正确的,这是Chrome和Facebook的一个例子。 您可以使用相同的代码,但需要更改它正在查找的元素,当然,您必须提供正确的url、用户名和密码

注意:这是在Macbook上进行的测试

  • 通过以下方式下载selenium驱动程序:

       cd /tmp
       wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_mac64.zip 
       unzip chromedriver_mac64.zip -d /usr/local/bin
    
  • 下面是执行这项工作的代码,再次确保您更改了url、它查找的元素以及用户名和密码。(打开名为login.py的文件名,复制并粘贴以下代码,然后进行更改)

  • 运行它:

    python login.py


  • u'\ue007'
    是selenium.webdriver.common.keys库中的输入代码。 您可以在发送用户名和密码后尝试按“回车”

    username = browser.find_element_by_id("user_input_id")   
    username.send_keys("myUserName") username.send_keys(u'\ue007') 
    password = browser.find_element_by_id("password_input_id")  
    password.send_keys("myPassword")  password.send_keys(u'\ue007') 
    

    这里回答了一个类似的问题:我认为这接近我想要的。但是我没有得到饼干的那部分。我只想访问字段并点击“登录”。我也希望这是普遍的。因此,使用其他浏览器作为默认浏览器的用户也可以使用此脚本。的可能重复。如果你想,以后,添加多个简单的按键看看
    username = browser.find_element_by_id("user_input_id")   
    username.send_keys("myUserName") username.send_keys(u'\ue007') 
    password = browser.find_element_by_id("password_input_id")  
    password.send_keys("myPassword")  password.send_keys(u'\ue007')