为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 mechanize (python) 在 global_form ListControl

如何使用 mechanize (python) 在 global_form ListControl

米脂 2023-10-16 10:46:58
我正在与一家食品银行合作,以便帮助他们在有人填写入会表格时自动为新客人创建一个条目。为了创建新来宾,必须首先选择外展活动。这是通过作为全局窗体一部分的 ListControl 完成的。import mechanizeimport http.cookiejarbr = mechanize.Browser()cj = http.cookiejar.LWPCookieJar()br.set_cookiejar(cj)br.set_handle_equiv(True)br.set_handle_gzip(True)br.set_handle_redirect(True)br.set_handle_referer(True)br.set_handle_robots(False)br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)br.addheaders = [('User-agent', 'Chrome')]# loginbr.open('https://companywebsite.com/login')br.select_form(nr = 0)br.form['username'] = 'my_username'br.form['password'] = 'my_password'br.submit()# Deselect the default placeholder value and select the name of the outreachbr.open('https://companywebsite.com/create-new-visit')br.global_form().find_control(id='outreachSelect').items[0].selected = Falsebr.global_form().find_control(id='outreachSelect').items[1].selected = Trueprint(br.global_form().find_control(id='outreachSelect').items)这是我得到的输出。如您所见,第一项仍处于选中状态。[<Item name='0' id=None value='0' selected='selected' contents='Select an Outreach' label='Select an Outreach'>, <Item name='558' id=None value='558' contents='Company Name' label='Company Name'>]此屏幕截图显示了网站的外观为了使“创建新访客”按钮起作用,必须更改“选择外展”下拉列表
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

再次查看后,我发现该网站正在根据该下拉列表的内容运行 javascript。当选择正确的选项时,它将向 发出请求https://companywebsite.com/create-new-visit/set-outreach/?id=config_1

我能够通过使用 mechanize 提出相同的请求,然后使用“创建新来宾”按钮来解决我的问题。


查看完整回答
反对 回复 2023-10-16
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信