我无法通过Python使用Selenium登录网站。
我是网络抓取的新手,作为学习过程的一部分,我正试图通过Python从美国航空公司网上抓取我的帐户活动。这需要登录,这是我的代码(见下文)失败的地方。填写所有表单字段,但是,当我提交时,页面似乎刷新并清除我的条目。
检查我的表现:
在此先感谢您的帮助!
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("https://www.aa.com/homePage.do")
loginId = driver.find_element_by_name("loginId")
lastName = driver.find_element_by_name("lastName")
password = driver.find_element_by_name("password")
time.sleep(2)
loginId.send_keys("my-email-here")
lastName.send_keys("my-last-name-here")
password.send_keys("my-password-here")
time.sleep(2)
password.submit()
我相信AA和其他航空公司都有复杂的机器人检测,知道你正在使用selenium来查找和操纵DOM中的元素,导致页面导航回登录。即使我做了:
driver.find()
在网页上填写字段我自己失败了,但如果我只做一个:
driver.get('https://www.aa.com')
然后填写它将允许我继续的字段。我在谷歌和reddit上发现了一些帖子,如果你做一些搜索就已经过了。还有Can a website detect when you are using selenium with chromedriver?,他们可能会采取一些方式。