登录到www.virtualtrader.co.uk使用python请求或类似模块?

2024-10-02 22:28:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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请求库,但是如果您能够使用另一种方法来解决这个问题,我很乐意进行更改。你知道吗

我很感激这是一个非常具体的问题-对不起!
提前谢谢


Tags: 代码httpdatagetwwwpagevirtualusername
1条回答
网友
1楼 · 发布于 2024-10-02 22:28:12

这应该让你开始:

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()

如果您需要进一步的帮助,请在此处留言。你知道吗

相关问题 更多 >