AutoIt 单击一个在IE中没有名称或只有ID类的onClick Javascript按钮
AutoIt Clicking a onClick Javascript button with no name or id only class in IE
尝试编写按钮脚本,单击亚马逊网站上的按钮,如下所示:
<span class="action-go" onclick="MYO.JS.handle_action($(this).parent().find('.action option:selected').attr('value'), $(this).parent().find('.action option:selected').attr('url'));">
<input width="21" height="21" align="absmiddle" type="image" src="https://images-na.ssl-images-amazon.com/images/G/01/abis-ui/buttons/go._V187564664_.gif" border="0">
</span>
<input width="21" height="21" align="absmiddle" type="image" src="https://images-na.ssl-images-amazon.com/images/G/01/abis-ui/buttons/go._V187564664_.gif" border="0">
这是我尝试过的:
Func GetButtons()
Local $oBtns = _IETagNameGetCollection($g_oIE, "span")
For $oBtn In $oBtns
If String($oBtn.classname) = "action-go" Then
_IEAction($oBtn, "click")
EndIf
ExitLoop
Next
EndFunc
行之有效的解决方案
Func ClickButton()
$HWND = _IEPropertyGet($g_oIE, 'HWnd')
WinSetState($HWND, "", @SW_MAXIMIZE)
_IEAction($g_oIE,"visible")
_IELoadWait($g_oIE)
MouseClick($MOUSE_CLICK_LEFT, 290, 354, 2)
EndFunc ;==>GetButtons
我没有时间给你编写解决方案,但我可以告诉你我会怎么做。诀窍是不要单击按钮,而是单击其位置。这仅在 GUI 所有方式具有相同比例时才有效。
- 检测窗口的位置。只要它有一个名字,这应该可以工作。
- 通过使用 AutoIt 窗口信息检测按钮相对于窗口的位置。
- 您添加这两个值并单击该位置。
您可以使用鼠标单击单击位置。
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 有没有一种简单的方法可以用包含id和名称(从a到Z)的对象填充数组
- Meteor:访问另一个集合,每个块中有一个id
- 当我有父 JQuery/JS 的类名称时,如何从子 ID 获取 ID 父级
- JavaScript 用具有特定 ID 的正则表达式 img 标记替换,但其他属性可以是任何属性
- 函数javascript:匿名但有名称
- 在一个对象的Javascript数组中,如果一个特定的数组元素本身就是一个对象数组,我如何通过名称/ID来定位该元素
- 如何查找Canvas元素中单击的对象名称/id
- 根据名称/id的一部分选择复选框
- 一个页面上有多个日期选择器,每个都有动态ID's
- 有一个带有' a '标签的Iframe,上面有一些id,如何创建一个新的Iframe,跟随' a ' url
- 下面的反射语言特性和标准实现方式是否有名称?
- 在Javascript中创建类的不同方法有名称吗?它们是什么?
- 如果根元素有名称空间' xmlns ',则不工作
- 是否有浏览器支持或任何插件,显示html元素的ID或名称作为工具提示,而悬停在一个元素
- 如何使用Backbone.dualStorage.js用具有相同ID的远程模型重新填充本地存储
- 有相同id错误的潜水
- Javascript - can类路径有名称空间
- 获取iframe src参数从内部iframe本身,如果我没有它的id属性,但我有名称属性