gpt4 book ai didi

beautifulsoup - 使用 Mechanicalsoup 设置没有名称的表单元素的值

转载 作者:行者123 更新时间:2023-12-03 14:39:07 24 4
gpt4 key购买 nike

我搜索了所有 Mechanicalsoup 和 beautifulsoup 文档,但无法弄清楚如何使用“id”设置表单元素的值(因为它没有名称)。

import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()

browser.open(my_url)

form = browser.select_form('form[id="login-form"]')

browser.get_current_form().print_summary()
userid = browser.get_current_page().find('input', id='text-userid')
form.set("text-userid", "user")

这让我——
<input class="login-text-box" id="text-userid" placeholder="Email" type="text" value=""/>
<input class="login-text-box" id="text-password" placeholder="Password" type="password" value=""/>
<input id="button-login" type="submit" value="Sign In"/>
<input id="remember-me-checkbox" name="rememberme" type="checkbox" value="rememberme"/>
LinkNotFoundError: No valid element named text-userid

我曾尝试通过 id、CSS 选择器和其他组合引用元素,但得到相同的错误。我能够通过以下方式获取实际标签(我发现它是提交按钮类似问题的解决方案):
userid = browser.get_current_page().find('input', id='text-userid')

但 form.set() 不直接接受标签。

谢谢你的帮助!

最佳答案

经过更多研究,我了解到我应该在这种情况下使用 Selenium(而不是机械汤)。我使用了本指南,它在第一次尝试时完全满足了我的需求。

http://stanford.edu/~mgorkove/cgi-bin/rpython_tutorials/Scraping_a_Webpage_Rendered_by_Javascript_Using_Python.php

关于beautifulsoup - 使用 Mechanicalsoup 设置没有名称的表单元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52585753/

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