1

网页的默认操作是按相关性列出结果,但有一个下拉框可用于更改结果表的排序顺序。我想使用 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>

我的.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.evaluate 参数上,应该是吗?在调用 ghost.content 之前,我是否必须在 eval 之后“触发”javascript 函数?

4

1 回答 1

0

这是我的做法。

from ghost import Ghost 
ghost = Ghost()
ghost.fill("form",{'MMM_ddlSortOrder':'POSTDATE:D'})
ghost.evaluate( "document.getElementById('MMM_ddlSortOrder').setAttribute('POSTDATE:D');")
于 2013-04-02T17:31:33.887 回答