我有一个存储在数据库中的网球运动员列表。我想使用mechanize来抓取atpworldtour.com网站以获取有关这些玩家的信息。搜索表单位于主页上,我可以通过以下方式轻松访问:
<div id='titleSection'>
<div class='title-inner right quarter-width'>
<form action='destroy.php' method='POST' id="button1">
<button>Log Out</button>
</form>
</div>
<div class='title-inner left quarter-width'>
<!--nothing-->
</div>
<div class='title-inner center half-width'>
<h1 class='centered-text'>Title</h1>
</div>
</div>
但输入字段没有名称。这是搜索表单的标记:
$(document).ready(function() {
var OuterHeight = $('#titleSection').height();
var InnerHeight = $('#button1').height();
var TopMargin = (OuterHeight-InnerHeight)/2;
$('#button1').css('margin-top', TopMargin);
});
我试图搜索无法访问字段的方法并遇到these two个问题,但他们都使用agent = Mechanize.new
url = "http://www.atpworldtour.com"
page = agent.get(url)
form = page.form()
方法,我认为这是特定的python?它无论如何都会给我<form id="siteSearch" class="site-search">
<input type="search" placeholder="Search Players and Tournaments" class="search">
<button id="closeSearch" type="button" class="close-search"></button>
<div class="search-partner"><span> </span><img alt="" src=""></div>
</form>
错误。
我还查看了this question,还查看了find_control
的{{3}},并提出了:
undefined method 'find_control'
尝试打印搜索字段的当前值以查看其是否有效但field_with
返回pp form.field_with(:class => "search").value
。
我是以错误的方式来做这件事的吗?如果有人能指出我走向正确的道路至少提交搜索我会非常感激。