aardio官方社区

 找回密码
 注册会员

!connect_header_login!

只需一步,快速开始

搜索
查看: 13970|回复: 24

怎么在框架网页填入内容?(阿里巴巴博客)

  [复制链接]

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
发表于 2011-6-5 16:59:31 | 显示全部楼层 |阅读模式
控针显示输入框的id或者name:<INPUT class=zt_02 id=subject maxLength=40 size=65 name=_fmbi.n._0.s>
我想在框中输入内容:
aa="dddddddd"
ele=wb.getEle("_fmbi.n._0.s")
if(ele){
  ele.focus()
};
if(ele){
  ele.setAttribute("value",aa)
};
但好像没反应。
回复

使用道具 举报

117

主题

1229

帖子

6572

积分

六级会员

Rank: 9Rank: 9Rank: 9

积分
6572
发表于 2011-6-5 17:05:15 | 显示全部楼层

换id试试

换id试试
我是菜鸟...
回复

使用道具 举报

52

主题

1334

帖子

7301

积分

荣誉会员

Rank: 8Rank: 8

积分
7301
发表于 2011-6-5 17:08:59 | 显示全部楼层

因你是蛮新的新手,我不会直接告诉你答案,本版置顶的帖子请你好好看看学习领悟

因你是蛮新的新手,我不会直接告诉你答案,本版置顶的帖子请你好好看看学习领悟
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-5 17:14:33 | 显示全部楼层

现在是这样的``自动登陆已经成功实现了```然后转跳到发表文章的页面上。有没可能是因为转跳到的URL和原来代码里的不一致,所以在这个页面里找不到那个属性值```

现在是这样的``自动登陆已经成功实现了```然后转跳到发表文章的页面上。有没可能是因为转跳到的URL和原来代码里的不一致,所以在这个页面里找不到那个属性值````


你的置顶的帖子没办法解决我的问题,因为``自动登陆已经是解决了``说明得到框框的属性并向里面输入内容这一步其实已经解决```但是一跳转到发表文章就不能动了```
回复

使用道具 举报

52

主题

1334

帖子

7301

积分

荣誉会员

Rank: 8Rank: 8

积分
7301
发表于 2011-6-5 17:40:58 | 显示全部楼层

跳转一样的 只需要加 wb.wait()等待网页下载成功就可以寻找元素了或者用 [color=rgb(0, 0, 0)][font=song, Verdana]

跳转一样的 只需要加 wb.wait()等待网页下载成功就可以寻找元素了或者用 wb.waitEle 函数
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-5 17:54:11 | 显示全部楼层

[code] import win; import win.ui; import win.ui.menu import win.ole.image


  1. import win;
  2. import win.ui;
  3. import win.ui.menu
  4. import win.ole.image
  5. import web.form;
  6. /*DSG{{*/
  7. var winform = win.form(parent=...; right=575;bgcolor=13160660;bottom=636;text="SoHu邮箱半自动注册机";left=0;exmode="";top=0;style=0;frame=1 )
  8. winform.add(
  9. button={ bgcolor=13160660;bottom=47;color=0;right=486;left=421;multiline=1;top=19;acceptfiles=1;z=1;text="开始";transparent=1;tabstop=1;cls="button" };
  10. static={ text="static";bottom=630;right=565;left=9;top=61;font=LOGFONT( name="宋体";h=-12 );z=2;transparent=1;cls="static" }
  11. )
  12. /*}}*/

  13. Url="http://china.alibaba.com/member/signin.htm?Done=http%3A%2F%2Fwork.china.alibaba.com%2Fhome%2Fpage%2Fjump.htm%3Fmenu%3Dblognew";

  14. winform.button.oncommand = function(id,event){
  15.         name="XXXXXXx"
  16.         password="XXXXXXX"
  17.         wb.go(Url);       
  18.         for(i=1;60;1){
  19.                 win.delay(1000)
  20.                 ele=wb.getEle("password");
  21.                 if(ele){break ;}                        //等待网页全部打开
  22.         }
  23.        
  24.         ele=wb.getEle("LoginId")
  25.         if(ele){
  26.                 ele.setAttribute("value",name)//设置用户账号
  27.         }
  28.         ele=wb.getEle("password")
  29.         if(ele){
  30.                 ele.setAttribute("value",password)//密码
  31.         };

  32.         ele=wb.getEle("Submit")
  33.         if(ele){
  34.                 ele.click()
  35.         };

  36.                 win.delay(10000)
  37. wb.wait()

  38. ele=wb.getEle("_fmbi.n._0.s")//这里开始执行不动了
  39.         if(ele){
  40.                 ele.setAttribute("value",name)//输入内容
  41.         }

  42. }

  43. math.randomize(tonumber(time()));                //改变随时种子
  44. wb=web.form(winform.static);                        //用static控件创建一个web对像
  45. wb.go(Url);
  46. winform.show(true)
  47. win.loopMessage();





复制代码
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-5 17:54:27 | 显示全部楼层

看下代码吧```

看下代码吧```
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-5 17:54:47 | 显示全部楼层

不知道改怎么样继续了``

不知道改怎么样继续了``
回复

使用道具 举报

52

主题

1334

帖子

7301

积分

荣誉会员

Rank: 8Rank: 8

积分
7301
发表于 2011-6-5 22:22:50 | 显示全部楼层

粗略看了一下发表文章的源码 是一个框架 填写内容还有编辑器 这类框架填表有点麻烦 你可以看看论坛的帖子[url]http://bbs.aardio.com/

粗略看了一下发表文章的源码 是一个框架 填写内容还有编辑器 这类框架填表有点麻烦
你可以看看论坛的帖子http://bbs.aardio.com/thread-1244-1-1.html  
建议你用POST 试下吧
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-5 22:39:00 | 显示全部楼层

POST能介绍一下么???那个你的链接里也只有一个单词 POST 代码里面也没显示哪里就是post 我在论坛里搜了一下··也没介绍 ,帮助里说得不是那么直

POST能介绍一下么???那个你的链接里也只有一个单词 POST
代码里面也没显示哪里就是post   我在论坛里搜了一下··也没介绍 ,帮助里说得不是那么直观

点评

我给你的连接是框架填表的示例,不是post ,post 我没仔细研究学习  发表于 2011-6-5 22:50
回复

使用道具 举报

10

主题

108

帖子

588

积分

三级会员

Rank: 4

积分
588
发表于 2011-6-5 22:50:06 | 显示全部楼层

[quote][size=2][color=#999999]meinv 发表于 2011-6-5 22:39[/color] [url=forum.php?mo

meinv 发表于 2011-6-5 22:39
POST能介绍一下么???那个你的链接里也只有一个单词 POST
代码里面也没显示哪里就是post   我在论坛里搜 ...

学下表单和http协议你就知道post了
enjoy my life !
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-5 22:56:33 | 显示全部楼层

。。。。。如果说做一段实现功能的代码我还得先去看一本书······那就像你做饭要自己去种稻谷一样啊···种到来··我饿死了饿诶·····又没米啊··楼上的先借几

。。。。。如果说做一段实现功能的代码我还得先去看一本书······那就像你做饭要自己去种稻谷一样啊···种到来··我饿死了饿诶·····又没米啊··楼上的先借几斤用用 ··
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-5 22:58:45 | 显示全部楼层

[quote][size=2][color=#999999]meinv 发表于 2011-6-5 22:39[/color] [url=forum.php?mo

meinv 发表于 2011-6-5 22:39
POST能介绍一下么???那个你的链接里也只有一个单词 POST
代码里面也没显示哪里就是post   我在论坛里搜 ...

这个我倒是看出来了··只是还没看出能通用的地方··在 跳出框架后··那段不知道能实现什么功能,那代码格式的含义····
回复

使用道具 举报

21

主题

205

帖子

1293

积分

培训班

积分
1293
发表于 2011-6-5 23:29:34 | 显示全部楼层

[i=s] 本帖最后由 carl 于 2011-6-5 23:31 编辑 [/i] 这是里面是有框架的,所以你这样是获取不到的 这里web操作有两种方

本帖最后由 carl 于 2011-6-5 23:31 编辑

   这是里面是有框架的,所以你这样是获取不到的
这里web操作有两种方法可以实现,由于这里框架没有名字
你可以参考范例的   跨域框架转为webform  例子   


import web.form.util;
   
//只要调用下面这句代码,webform所有框架有关的函数自动支持跨域
    web.form.util.crossDomain()

   
//遍历所有框架
    for(i=1;wb.document.frames.length ){
        wbFrame = wb.getWebForm(i-1);
//将框架转换为web.form对象
        if(string.find(wbFrame.body.outerHTML,"subject")){//找到
            ele=wbFrame.getEle("subject")
            ele.value=
"输入标题"
            
break ;
        }
    }

aardio - 没有做不到的,只有想不到的!
回复

使用道具 举报

20

主题

153

帖子

923

积分

三级会员

Rank: 4

积分
923
发表于 2011-6-6 02:47:20 | 显示全部楼层

简单点的,只要开启框架支持就可以了。 import web.form.util web.form.util.crossDomain() ele = wb.

简单点的,只要开启框架支持就可以了。
import web.form.util
web.form.util.crossDomain()
ele = wb.getEle("subject",1)
ele.value = "dwadw"
回复

使用道具 举报

20

主题

153

帖子

923

积分

三级会员

Rank: 4

积分
923
发表于 2011-6-6 03:26:22 | 显示全部楼层

[i=s] 本帖最后由 xudhrh 于 2011-6-6 03:28 编辑 [/i] 把这个放到延迟前面。也可以 [color=#0000ff]impor

本帖最后由 xudhrh 于 2011-6-6 03:28 编辑

把这个放到延迟前面。也可以
import win;
import win.ui;
import win.ui.menu
import win.ole.image
import web.form;
/*DSG{{*/
var winform = win.form(parent=...; right=575;bgcolor=13160660;bottom=636;text="SoHu邮箱半自动注册机";left=0;top=0;exmode="";style=0;frame=1 )
winform.add(
button={ bgcolor=13160660;bottom=47;color=0;right=486;left=421;multiline=1;top=19;acceptfiles=1;tabstop=1;text=
"开始";transparent=1;z=1;cls="button" };
static={ bottom=630;right=565;left=9;top=61;font=LOGFONT( name=
"宋体";h=-12 );z=2;transparent=1;text="static";cls="static" }
)
/*}}*/

Url=
"http://china.alibaba.com/member/signin.htm?Done=http%3A%2F%2Fwork.china.alibaba.com%2Fhome%2Fpage%2Fjump.htm%3Fmenu%3Dblognew";

winform.button.oncommand =
function(id,event){
        name=
"XXXX"
        password=
"XXXX"
        wb.go(Url);        
        
for(i=1;10;1){
                win.delay(1000)
                ele=wb.getEle(
"password");
               
if(ele){break ;}                        //等待网页全部打开
        }
        
        ele=wb.getEle(
"LoginId")
        
if(ele){
                ele.setAttribute(
"value",name)//设置用户账号
        }
        ele=wb.getEle(
"password")
        
if(ele){
                ele.setAttribute(
"value",password)//密码
        };

        ele=wb.getEle(
"Submit")
        
if(ele){
                ele.click()
        };
        
        
import web.form.util
        web.form.util.crossDomain()

wb.DocumentComplete=
function( pDisp, url) {
   
/*当整个文档完成时触发,刷新页面不触发*/
   
if(string.find(url,"blog.china.alibaba.com") ){
        
        
var doc = pDisp.Document;
        
if( type(doc) ==type.function )
        doc = doc();
        ele = wb.getEle(
"subject",doc)
        ele.value =
"dwadw"

    }  
}
   



}

//math.randomize(tonumber(time()));                //改变随时种子
wb=web.form(winform.static);                        //用static控件创建一个web对像
wb.go(Url);
winform.show(
true)
win.loopMessage();

点评

你研究这个问题到3点?佩服  发表于 2011-6-6 14:06
回复

使用道具 举报

20

主题

153

帖子

923

积分

三级会员

Rank: 4

积分
923
发表于 2011-6-6 15:22:38 | 显示全部楼层

也没有到3点,12点多解决的。只是3点发上来的。 我觉得框架问题可以到此结束了。

也没有到3点,12点多解决的。只是3点发上来的。
我觉得框架问题可以到此结束了。

点评

QMC,怕的原因可能是你少动手,建议多练习几次就不会怕了!  发表于 2011-6-6 18:15
发现你框架摸得很熟悉 我看见框架有点怕 呵呵  发表于 2011-6-6 15:50
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-6 17:42:46 | 显示全部楼层

{:3_48:}{:3_48:}{:3_46:}{:3_46:}{:3_46:}刚短途汽车下车就立刻来看```发现好象高手出现了```我研究一下先``

刚短途汽车下车就立刻来看```发现好像高手出现了```我研究一下先``
回复

使用道具 举报

1

主题

13

帖子

66

积分

一级会员

Rank: 2

积分
66
 楼主| 发表于 2011-6-6 21:29:36 | 显示全部楼层

[code]import win; import win.ui; import win.ui.menu import win.ole.image im

  1. import win;
  2. import win.ui;
  3. import win.ui.menu
  4. import win.ole.image
  5. import web.form;
  6. /*DSG{{*/
  7. var winform = win.form(parent=...; right=575;bgcolor=13160660;bottom=636;text="SoHu邮箱半自动注册机";left=0;exmode="";top=0;style=0;frame=1 )
  8. winform.add(
  9. button={ bgcolor=13160660;bottom=47;color=0;right=486;left=421;multiline=1;top=19;acceptfiles=1;z=1;text="开始";transparent=1;tabstop=1;cls="button" };
  10. static={ text="static";bottom=630;right=565;left=9;top=61;font=LOGFONT( name="宋体";h=-12 );z=2;transparent=1;cls="static" }
  11. )
  12. /*}}*/

  13. Url="http://china.alibaba.com/member/signin.htm?Done=http%3A%2F%2Fwork.china.alibaba.com%2Fhome%2Fpage%2Fjump.htm%3Fmenu%3Dblognew";

  14. winform.button.oncommand = function(id,event){
  15.         name="wwacd"
  16.         password="hellocwj"
  17.         wb.go(Url);        
  18.         for(i=1;10;1){
  19.                 win.delay(1000)
  20.                 ele=wb.getEle("password");
  21.                 if(ele){break ;}                        //等待网页全部打开
  22.         }
  23.         
  24.         ele=wb.getEle("LoginId")
  25.         if(ele){
  26.                 ele.setAttribute("value",name)//设置用户账号
  27.         }
  28.         ele=wb.getEle("password")
  29.         if(ele){
  30.                 ele.setAttribute("value",password)//密码
  31.         };

  32.         ele=wb.getEle("Submit")
  33.         if(ele){
  34.                 ele.click()
  35.         };
  36.         import web.form.util
  37.         web.form.util.crossDomain()



  38. //遍历所有框架
  39.     import web.form.util
  40.     web.form.util.crossDomain()
  41.     win.delay(10000)
  42.     ele = wb.getEle("subject",1)
  43.     ele.value = "dwadw"
  44.         var wbFrame = wb.getWebForm(1); //将框架转换为web.form对象
  45.         for(i=1;wbFrame.document.frames.length ){
  46.              var wbFrame1 = wbFrame.getWebForm(i-1); //将框架转换为web.form对象
  47.               wbFrame1.body.innerHTML = "跨域写入HTML"   
  48.                 
  49.    }
  50.    

  51. }


  52. //math.randomize(tonumber(time()));                //改变随时种子
  53. wb=web.form(winform.static);                        //用static控件创建一个web对像
  54. wb.go(Url);
  55. winform.show(true)
  56. win.loopMessage();
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2021-9-26 23:13 , Processed in 0.086517 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表