- 论坛徽章:
- 0
|
我从http://sourceforge.net/project/showfiles.php?group_id=60154&release_id=185106 下载了个叫SAMIE的东西, 是用来自动化控制IE的. 它说是基于dhtml DOM (Document Object Model) http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp 而写的, 我弄不清楚它是怎么用的. 还是提我的问题吧.
按装SAMIE后, 有一个SAM.PM会被放到D:\Perl\site\lib\Win32, 里边有一个sub SetListBoxItem, 如果该ListBox是单选一个选项, 它是完全没问题,例如
- <select name=regsex>;
- <OPTION value=1>;男</OPTION>;
- <OPTION value=2>;女</OPTION>;
- <OPTION value=none selected>;保密</OPTION>;
- </select>;
复制代码
就没问题, 因为男女只能选一..
可如果遇到可以多选的,例如可以同时选男女, 就不行了. 我估计是 $select->;{value} = $ItemName;的问题. 我说的不好, 不知道有没有人明白呢.
- sub SetListBoxItem { #$SelectName, $ItemName, $formname
- my ($SelectName,$ItemName,$formname) = @_;
- my ($IEDocument,$IEObject,$i,$forms,$form,$select);
- my $IEObjectGroup;
- #If ItemName is blank make it ""
- $ItemName = "" if (!defined($ItemName));
- foreach $IEObjectGroup (@AllIEObjects) {
- foreach $IEObject (@$IEObjectGroup) {
- $IEDocument = $IEObject->;{Document};
- $forms = $IEDocument->;forms;
- for ($i=0; $i<$forms->;length; $i++) {
- $form = $forms->;item($i);
- if (defined($formname)) {
- if ($form->;name ne $formname) {
- next;
- }
- }
- $select = $form->;elements($SelectName);
- $select->;{value} = $ItemName;
- return;
- }
- }
- }
- }
复制代码 |
|