如何使用请求“单击”按钮

时间:2020-07-11 19:45:28

标签: python web-scraping python-requests

因此,我试图制作一个可以从多个链接中单击按钮的程序,这些链接是我将从列表中获得的,但是首先,我需要了解如何仅使用一个链接就能做到这一点。它们都具有相同的HTML结构,但是我不知道该怎么做。

HTML:

<div class="_55wr">
    <form method="post">
        <input type="hidden" name="fb_dtsg" value="AQG7lSxYN2mb:AQFMMcWJcZtZ" autocomplete="off">
        <input type="hidden" name="jazoest" value="22090" autocomplete="off">
        <table class="btnBar">
            <tbody>
                <tr>
                    <td>
                        <button type="submit" value="Bloquear" class="_54k8 _52jg _56bs _26vk _56b_ _56bu" name="confirmed" data-sigil="touchable"><span class="_55sr">Bloquear</span></button>
                    </td>
                    <td>
                        <button type="submit" value="Cancelar" class="_54k8 _52jg _56bs _26vk _56b_ _56bt" name="canceled" data-sigil="touchable"><span class="_55sr">Cancelar</span></button>
                    </td>
                </tr>
            </tbody>
        </table>
    </form>
</div>

想法是单击第一个按钮(“

2 个答案:

答案 0 :(得分:1)

请求库发出HTTP请求,这意味着它不呈现JS并且不能单击按钮。使用google dev工具监视您的网络行为,以了解单击按钮后将什么数据发送到服务器,然后发出POST请求,并通过请求中的params关键字发送相同的数据。例如

data = {'button' : 'clicked1'}
r.requests.post('your_url.com', params = data)

对于单击按钮,我将亲自使用模拟浏览器并提供其自动化功能的硒库

答案 1 :(得分:-1)

我会用硒。

代码如下:

driver = webdriver.Firefox()
button = driver.find_element_by_xpath("//button[@value = \'Bloquear\']")
button.click()