使用ghost.py更改选择下拉列表的值并在更新后检索值

时间:2012-12-22 03:57:23

标签: python html-parsing screen-scraping web-scraping ghost.py

网页的默认操作是按相关性列出结果,但有一个下拉框,可用于更改结果表排序顺序。我想使用Ghost.py来模仿将下拉框从相关性更改为发布日期的操作。

下拉列表选择框的HTML:

<select name="MMM_ddlSortOrder" id="MMM_ddlSortOrder" onchange="SortSearch('MMM_ddlSortOrder');">
   <option value='RELEVANCE:D">Best Match</option>
   <option value='POSTDATE:D">Date Posted: Newest First</option>
   <option value='POSTDATE:A">Date Posted: Oldest First</option>
</select>

my.py:

from ghost import Ghost
ghost = Ghost()
page, resources = ghost.open('http://localhost.com/index.html')
result, resources = ghost.evaluate("document.getElementbyId('MMM_ddlSortOrder').getAttribute('POSTDATE:D');")

我认为问题出在我的鬼身上。估计它们是不是应该是谁?在调用ghost.content之前,我必须在eval之后“触发”javascript函数吗?

1 个答案:

答案 0 :(得分:0)

我是这样做的。

from ghost import Ghost 
ghost = Ghost()
ghost.fill("form",{'MMM_ddlSortOrder':'POSTDATE:D'})
ghost.evaluate( "document.getElementById('MMM_ddlSortOrder').setAttribute('POSTDATE:D');")