【问题标题】:Python click button with requests带有请求的 Python 单击按钮
【发布时间】:2016-07-15 10:03:30
【问题描述】:

我一直在尝试使用网站上的请求模块“单击”网站上的按钮,但无法正常工作。

这是网站上的按钮:

<div data-expected-currency="1" data-asset-type="T-Shirt" class="btn-primary btn-medium PurchaseButton " data-se="item-buyforrobux" data-item-name="T-Shirt" data-item-id="307054354" data-expected-price="2" data-product-id="28239339" data-expected-seller-id="96294876" data-bc-requirement="0" data-seller-name="All Player Clothing">
                                         Buy with R$
                                    </div>

这是我一直在尝试在 Python 中做的事情:

urlattempt = 'https://www.roblox.com/NewLogin'
    values = {'Username': 'USER',
      'Password': 'PASSWORD',
              'action': 'login'}
    rpost = requests.post(urlattempt, data=values)
    cookies = rpost.cookies
    values2 = {'action': 'btn-primary btn-medium PurchaseButton'}
    rpost2 = requests.post('https://www.roblox.com/item.aspx?id='+price2, cookies=cookies, data=values2)

登录部分工作正常,只是最后一部分(来自 values2)不起作用。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    Clicking 请求库不能直接使用按钮。如果你真的需要 click 处理你的 python 代码中的某些东西,你需要一个可编写脚本的,可能是无头浏览器。

    可以做的,是确定单击按钮时向服务器发出的请求,并尝试使用requests 重新创建它。使用您的浏览器开发人员工具来检查发出了哪些请求以及它们具有哪些内容。我已经回答了类似的问题here

    【讨论】:

      【解决方案2】:

      你可以试试 session,这样当你切换到同一个站点的另一个页面时它会携带 cookie。下面是它的样子:

      import requests
      
      s=requests.session()
      
      url_login=''
      url_data=''
      
      payload={'**strong text**':'usrname','Password':'pswd'}
      request1=s.post(url_login,data=payload) # this is to pass the 
      
      request2=s.get(url_data)
      

      至于点击按钮,您可能需要找出按钮背后的动作。可能有针对元素 ID 的处理程序。

      【讨论】:

        猜你喜欢
        • 2023-03-25
        • 2016-09-06
        • 2019-02-27
        • 2016-08-03
        • 1970-01-01
        • 2015-10-18
        • 2020-04-14
        • 2022-01-19
        • 1970-01-01
        相关资源
        最近更新 更多