我正在尝试使用python请求模块登录Virtual Trader网站 - 我在这个领域的经验有限,所以会感激一些帮助。
以前我使用以下代码登录类似的网站:
import requests
USERNAME = 'VALID EMAIL'
PASSWORD = 'VALID PASSWORD'
page = {
'index':'http://www.bullbearings.co.uk/',
'login':'http://www.bullbearings.co.uk/login.php',
'trade':'http://www.bullbearings.co.uk/stock.trade.php?epic=',
'portfolio':'http://www.bullbearings.co.uk/stock.portfolio.php'
}
def login(access):
with requests.Session() as c:
c.get(page['login'])
login_data = dict(email = USERNAME, password = PASSWORD, submit = 'Login', cookie = 'yes')
c.post(page['login'], data = login_data, headers = {'Referer': page['index']})
source = c.get(page[access])
print source.content
..我试图部署类似的代码来自动登录Virtual Trader网站,但到目前为止还没有成功。我的修改后的代码如下所示 - 出于安全原因,我隐瞒了每个示例中的个人信息 - 为了测试目的,可以在几分钟内打开帐户,或者可以将解决方案提交回这篇文章,我会随时待命测试它是否有效并报告。
尝试修改用于Virtual Trader
的代码import requests
with requests.Session() as c:
url = 'http://www.virtualtrader.co.uk/member/login.aspx'
USERNAME = 'VALID USERNAME'
PASSWORD = 'VALID PASSWORD'
email = 'ctl00$MiddleContent$LoginForm$txtEmail'
password = 'ctl00$MiddleContent$LoginForm$txtPassword'
c.get(url)
login_data = dict(email = USERNAME , password = PASSWORD)
c.post(url, data = login_data, headers = {'Referer': 'http://www.virtualtrader.co.uk'})
page = c.get('http://www.virtualtrader.co.uk/member/personal.aspx')
print page.content
这个打败了我! - 我真的很感激任何试图解决这个问题的帮助。 我个人更喜欢使用python请求库,但如果你能用替代方法解决这个问题,我很乐意改变。
我很欣赏这是一个非常具体的问题 - 对不起!
提前致谢
答案 0 :(得分:0)
这应该让你开始:
from selenium import webdriver
USERNAME = 'VALID USERNAME'
PASSWORD = 'VALID PASSWORD'
email = 'ctl00$MiddleContent$LoginForm$txtEmail'
password = 'ctl00$MiddleContent$LoginForm$txtPassword'
submit_id = 'ctl00_MiddleContent_LoginForm_cmdLogin'
driver = webdriver.Chrome() # could also use firefox, or a bunch of others listed on the homepage of selenium
driver.get('http://www.virtualtrader.co.uk/member/login.aspx')
login_field = driver.find_element_by_id(email)
password_field = driver.find_element_by_id(password)
submit_field = driver.find_element_by_id(submit_id)
login_field.send_keys(USERNAME)
password_field.send_keys(PASSWORD)
submit_field.click()
如果您想获得进一步的帮助,请在此处发表评论。