0
好的,所以我使用Mechanize登錄Google組並手動將組員添加到組中。在Python中使用Mechanize填充和提交textarea
我已經能夠成功登錄並導航到適當的頁面。在此頁面上有一個textarea框,您可以在其中添加要手動添加到組中的電子郵件地址。
下面是文本區域的HTML:
<textarea class="gwt-TextArea GFBTXDWBA-" id="gwt-uid-224" aria-haspopup="false" dir="" role="combobox" aria-autocomplete="list" aria-activedescendant=""></textarea>
當我運行一個循環:
for form in br.forms():
print form
被返回的唯一形式是「搜索成員的頂部,沒有形式的文字區域出現。
我不認爲select_form會起作用,因爲它實際上並不是一種形式。有一個「添加」按鈕,從這裏textarea的提交輸入屏幕的左上方的「添加」按鈕,在HTML:什麼我試圖做的是添加
<input type="text" tabindex="-1" role="presentation" style="opacity: 0; height: 1px; width: 1px; z-index: -1; overflow: hidden; position: absolute;">
一個電子郵件地址到文本區域並提交。任何幫助將大大讚賞。
這裏是我的全碼:
import mechanize
import cookielib
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
r = br.open('https://accounts.google.com/ServiceLogin?continue=https%3A%2F%2Fgroups.google.com%2Fd%2Fmanagemembers%2Ftesttgroup123456%2Fadd&hl=en&service=groups2&passive=true')
html = r.read()
br.select_form(nr=0)
br.form['Email']='myUsername'
br.form['Passwd']='myPassword'
br.submit()
for form in br.forms():
print form
我把它https://developers.google.com/google -apps/groups-settings /不適合某些原因? –
@Jon,我不熟悉這個API,是否可以做我正在試圖用它做的事情?如果是這樣,你是否會友好地指點我正確的方向,我已經瀏覽了文檔,我無法找到看起來會實現我想要做的事情的東西。 – Russell
恩 - 我不能說我有這方面的經驗,它看起來有點笨拙,但它可能是首選方法 - http://code.google.com/p/google-api-python-client/source/browse /#hg%2Fsamples%2Fgroupssettings –