如何使用python填充iframe内的表单

时间:2012-02-09 14:36:26

标签: python internet-explorer iframe

所以我尝试使用这个python脚本自动登录网站。

from win32com.client import Dispatch
import win32com.client
import time,ids

IE=Dispatch("InternetExplorer.Application")
IE.Visible=1
IE.Navigate("Source.html")
while IE.ReadyState != 4:    # Wait for browser to finish loading.
    time.sleep(1)
doc = IE.Document # Get the document.
while doc.readyState != "complete": # Wait for document to finish
    time.sleep(1)
doc.Login.USER.value = ids.username    
doc.Login.PASSWORD.value = ids.password
doc.Login.submit() 
while IE.ReadyState != 4:    # Wait for browser to finish loading.
    time.sleep(1)
doc = IE.Document # Get the document.
while doc.readyState != "complete": # Wait for document to finish
    time.sleep(1)
time.sleep(30)
IE.Application.Quit();

它在普通网站上运行正常,但Source.html在Iframe中加载网站。 因此,用户名和密码字段位于Iframe中,我不知道如何将数据输入到这些中。

1 个答案:

答案 0 :(得分:0)

也许尝试通过其ID来访问元素iframe。

长篇大论, 页面/ doc您的加载中包含以下元素,

<iframe id='myframe'>

从您的代码中尝试这样的事情, doc.myframe.Login.user

你可以做的一件事就是打开python REPL并使用你的doc对象来弄清楚如何访问你想要的元素。