1
我正在努力與此。我有一個完全測試的Python腳本。我必須做一些小改動,首先點擊一個單選按鈕,然後自動執行一個將頁面轉發到搜索表單的javascript函數。如何點擊javascripted'單選按鈕並使用Python(urllib2)獲取下一頁? [WebScrape,硒]
我的工作平臺:Linux的
語言:Python的
單選按鈕代碼:頁面上
<input type="radio" language="javascript" onclick="javascript:setTimeout('__doPostBack(\'_ctl0$Main$SearchRadio\',\'\')', 0)" value="SearchRadio" name="_ctl0:Main:SearchRadio" id="_ctl0_Main_SearchRadio">
Javascript代碼:
<script type="text/javascript">
<!--
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</script>
這是硒呢。不知道它是否有幫助。
def test_untitled(self):
sel = self.selenium
sel.open("/Search/results.aspx")
sel.click("_ctl0_Main_SearchRadio")
sel.wait_for_page_to_load("30000")
sel.type("-InputTextField", "ThinkCode")
sel.click("_SearchMainUser")
sel.wait_for_page_to_load("30000")
try: self.failUnless(sel.is_text_present("ThinkCode"))
except AssertionError, e: self.verificationErrors.append(str(e))
所有我想要做的就是去我們被重定向到一旦我們點擊單選按鈕,結果頁面。我使用urllib2閱讀了python web-scraping中的javascript恐怖內容。希望一種pythonista將盡快幫助我:)
爲什麼不能使用'sel.click'方法? – 2010-07-14 23:39:59
這就是硒只是爲了追蹤事件。如果我沒有錯,它是基於瀏覽器的。我的平臺是一個Linux機器。 – ThinkCode 2010-07-14 23:45:15
你的代碼對我來說看起來不錯 - 你有沒有試過在一個平臺上(甚至是你的本地桌面機器上)運行它,在那裏你可以觀看Selenium正在駕駛的瀏覽器,這樣你就可以看到你的單選按鈕是否被點擊,你的文本領域正在填補,等? – Eric 2011-08-25 21:40:19