使用BeautifulSoup,如何访问具有特定<input type="button" value="submit" id="form_submit" />
<script>
$(function() {
$("#form_submit").on("click", function() {
var username=$('#username').val();
var jqxhr = $.get( "/get_url.php",{ username: username}, function(data) {
$("#form1").attr('action', data);
$("#form1").submit();
});
});
$("#form1 input[type='text']").keyup(function (e) {
if (e.keyCode == 13) {
$("#form_submit").trigger('click');
}
});
});
</script>
作为孩子的<li>
示例:如何访问div
作为子div的li
的文本(即info@blah.com)?
Email
我尝试手动执行:循环播放所有<li>
<div>Country</div>
Germany
</li>
<li>
<div>Email</div>
info@blah.com
</li>
,并为每个li
重新启用所有子div
以检查文本是否为电子邮件等,但我是&#39 ;我确定使用BeautifulSoup存在更聪明的版本。
答案 0 :(得分:1)
有多种方法可以解决这个问题。
一种选择是按文字找到Email
div 并获取next sibling:
soup.find("div", text="Email").next_sibling.strip() # prints "info@blah.com"
答案 1 :(得分:1)
您的问题是关于获得整个<li>
部分,其中包含&#34;电子邮件&#34;在<div>
标签内吗?这意味着您需要获得以下结果,
<li>
<div>Email</div>
info@blah.com
</li>
如果我理解你正确的问题意味着你需要做以下事情。
soup.find("div", text="Email").parent
或者如果您需要&#34; info@blah.com"作为结果,你需要做以下事情。
soup.find("div", text="Email").next_sibling
答案 2 :(得分:0)
如果您只有一个div有内容&#34;电子邮件&#34;,您可以这样做。
soup.find("div", text="Email").find_parent('li')