【问题标题】:How do I get javascript results using selenium?如何使用 selenium 获取 javascript 结果?
【发布时间】:2011-01-29 00:11:23
【问题描述】:

我有以下代码:

from selenium import selenium

selenium = selenium("localhost", 4444, "*chrome", "http://some_site.com/")
selenium.start()

sel = selenium
sel.open("/")
sel.type("ctl00_ContentPlaceHolder1_SuburbTownTextBox", "Adelaide,SA,5000")
sel.click("ctl00_ContentPlaceHolder1_SearchImageButton")

#text = sel.get_body_text()
text = sel.get_html_source()

print(text)

点击执行一个javascript文件,然后在同一页面上产生结果。显然print(text) 只会打印原始的 html 源代码。如何获得 javascript 的结果?

【问题讨论】:

    标签: javascript python selenium


    【解决方案1】:

    试试这个以获取 id=your-id 的 html 元素的内容:

    sel.get_eval("this.browserbot.getCurrentWindow().document.getElementById('your-id').innerHTML"
    

    【讨论】:

    • 我猜你的 javascript 代码将 html 代码插入到类似
      标记中。
    • 这是我想要访问的 javascript 行:` $create(AjaxControlToolkit.AutoCompleteBehavior, {"completionInterval":50,"completionListCssClass":"autocomplete_completionListElement","completionListItemCssClass":"autocomplete_listItem ","completionSetCount":20,"delimiterCharacters":"","highlightedItemCssClass":"autocomplete_highlightedListItem","id":"ctl00_ContentPlaceHolder1_AutoCompleteExtender1","minimumPrefixLength":4,"serviceMethod":"GetSchoolNames","servicePath":" AutoComplete.asmx"}, {"itemSelected":ItemSelected}, null, $get("ctl00_ContentPlaceHolder1_SchoolNameTextBox")); `
    猜你喜欢
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    相关资源
    最近更新 更多