python - python urllib - 在标题中发送#input文本并提交
问题描述
我正在尝试访问一个网站并为网站上的输入赋予一定的价值。
输入的形式为:
<input id="wavelength" name="wavelength" style="width:80pt;"
onchange="nk(false),reflection(true),transmission(false)">
<input id="wavelength_submit" type="submit" class="noprint" value="↵"
onclick="nk(false),reflection(true),transmission(false)">
我对此很陌生,但我知道您可以要求特定变量具有特定值。
我要求的是:
url = 'https://refractiveindex.info'
values = {'shelf': 'glass', 'book': axicon_material, 'wavelength': used_wavelength, 'wavelength_submit': 'true'}
data = urllib.parse.urlencode(values)
data = data.encode('utf-8')
index_mainpage_request = urllib.request.Request(url,data)
index_mainpage_response = urllib.request.urlopen(index_mainpage_request)
paragraphs = re.findall(r'<p>(.*?)</p>', str(index_mainpage_response.read()))
然而,网站上的输入框并不想更改其内容。有没有办法根据我的要求做到这一点?因为这种方式似乎行不通
解决方案
Selenium 是我一直在寻找的包。但是 phantomJS 有无头格式,这正是我想要的。
不过,我认为会有更好的方法从网站数据库中获取信息,而不是连接它。
推荐阅读
- python - 如何在熊猫数据框变量上使用 format()
- swift - Optional("") 被保存在数据库中
- protractor - 添加评论时量角器测试中断
- google-apps-script - 获取单击按钮的人的电子邮件?
- javascript - 电子邮件未存储在来自 ajax 请求的变量中
- pandas - 用组平均值替换 NaN 值
- php - 在父级之前显示分类子级
- php - 使用 PDO 登录无法从 MySQL 获取数据
- r - 在R中堆叠列表的所有元素(包括列表中的列表)
- azure-log-analytics - 如何编写 Kusto 查询以仅选择在一个字段中具有唯一值的行