gpt4 book ai didi

python - 如何在 mechanize 中单击表单中的标签?

转载 作者:行者123 更新时间:2023-12-01 04:58:42 24 4
gpt4 key购买 nike

<p class="field switch">
<label id="on" class="cb-enable"><span>On</span></label>
<label id="off" class="cb-disable selected"><span>Off</span></label>
</p>

知道如何单击 id="on"的标签吗?这是一个开关,我想通过单击“on”标签将其从关闭切换到打开。

我尝试过的事情:

br.form.get(label="On").click()
br.form.find_control(id="on").click()

文档:http://wwwsearch.sourceforge.net/mechanize/forms.html

有什么想法吗?

最佳答案

Mechanize 不支持 JavaScript,因此没有可触发的点击事件。此外,您显示的 HTML 不包含输入元素,因此 mechanize 无法对其执行任何操作。

如果这个网站确实需要 Javascript,我建议使用 Watir , SeleniumScrapyScrapyJS

使用 Mechanize,您可以手动编辑响应,如下所示:

import mechanize

class ReplacingOpener(mechanize.SeekableResponseOpener):
def process_response_object(self, response):
response = mechanize.SeekableResponseOpener.process_response_object(
self, response)

# Get the HTML from the response
html = response.read()

# Replace the HTML here with anything you feel like
html = html.replace('</body>', '')

# Set it back to the response
response.set_data(html)
return response


opener = mechanize.OpenerFactory(ReplacingOpener).build_opener()
response = opener.open('http://stackoverflow.com/questions/26793091/')

forms = mechanize.ParseResponse(response)
print forms

关于python - 如何在 mechanize 中单击表单中的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26793091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com