gpt4 book ai didi

python 3.5 robobrowser,一次用一个值填充输入

转载 作者:太空宇宙 更新时间:2023-11-03 15:41:42 29 4
gpt4 key购买 nike

我试图在使用 python 3.5 和 robobrowser 输入输入值后废弃网页。我面临的问题是:在尝试在输入中一次输入每个值时。

<select name="ctl00$ContentPlaceHolder1$DDLDistrict" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$DDLDistrict\',\'\')', 0)" id="ctl00_ContentPlaceHolder1_DDLDistrict">
<option value="Select District">Select District</option>
<option selected="selected" value="8">Agra</option>
<option value="9">A</option>
<option value="29">B</option>
<option value="70">C Nagar</option>
<option value="72">D</option>
<option value="58">Y</option>
<option value="40">Z</option>
</select>

我的Python代码的一部分是:

import re
from robobrowser import RoboBrowser

# Browse to Genius
browser = RoboBrowser(history=True)
browser.open('http://164.100.180.82/ceouptemp/RollPDF.aspx')
from bs4 import BeautifulSoup
form = browser.get_form(name='ctl00$ContentPlaceHolder1$DDLDistrict')

最佳答案

为了再次检查,请确保您确实找到了该表单,但正在打印该表单。下面的代码假设您有一个交互式 Python session 以及上面发布的代码。

>>> print(form)

如果您得到一些以 <RoboForm __ 开头的值,那么你就开始做生意了。如果你得到 None ,那么您实际上还没有选择表单,您应该尝试以下操作来确定表单的位置,

>>> browser.get_forms()

找到包含选择列表的表单后,为其分配变量名称 form ,您可以将表单的值更改为一些值(例如如下的'29'):

>>> form['ctl00$ContentPlaceHolder1$DDLDistrict'].value = '29'

如果您想要所有选项的列表,您可以这样做:

>>> form['ctl00$ContentPlaceHolder1$DDLDistrict'].options

祝抓取愉快!

查看 RoboBrowser 文档以获取更多信息(请注意,复选框示例的工作方式与选择类似):https://github.com/jmcarp/robobrowser

关于python 3.5 robobrowser,一次用一个值填充输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42056409/

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