【问题标题】:Using ghost.py to change the value of a select dropdown and retrieve values after update使用 ghost.py 更改选择下拉列表的值并在更新后检索值
【发布时间】:2026-02-22 13:15:01
【问题描述】:

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

【问题讨论】:

  • 您的问题解决了吗?我要!

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


【解决方案1】:

这是我的做法。

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

【讨论】:

    最近更新 更多