isrpa7.0 的 IE 自动 pagedown 到我们需要操作的地方

在 IE 中,对很长的页面来说,一直有一个问题是,我们要操作的按钮可能不可见,这时候会操作错误
为了滚动到我们按钮可见,大家往往要循环按 pagedown 并尝试操作、检测操作是否成功,我们在这里利用 isrpa7.0 的一个 run_javascript 函数,来实现这个功能
首先,7.0 提供的 iie.run_javascript 有一个 bug,必须手工修复一下,打开C:\...\plugin\Com.Isearch.Func.Python\Lib\ubpa\iie.py,找到下面的函数并替换成下面的内容:

def get_param(title="",url="",selector="",text="",item="",itemmode="",action="", js="", pid=0):
    param = '{"activite":"","input":{"item":"","itemmode":"","text":"","action":""},"target":{"selector":"","title":"","url":""}}'
    pjson = json.loads(param)
    if selector != "":
        pjson["target"]["selector"] = selector
    if title != "":
        pjson["target"]["title"] = title
    if url != "":
        pjson["target"]["url"] = url
    if text != "":
        pjson["input"]["text"] = text  # 是否所选文本、设置文本,是否所选顺序,键盘输入
    if item != "":
        pjson["input"]["item"] = item #下拉选择
    if itemmode != "":
        pjson["input"]["itemmode"] = itemmode  # 下拉选择
    if action != "":
        pjson["input"]["action"] = action  #多选框设置
    if js != "":
        pjson["target"]["jscode"] = js
    if pid != 0:
        pjson["target"]["pid"] = pid  #多选框设置
    return json.dumps(pjson, ensure_ascii=False)

然后在设计器中,使用义代码块:

import ubpa.iie as iie

iie.run_javascript(url=r'https://www.baidu.com/s?wd=i-search', js=r'var elmnt =document.getElementById("rs");elmnt.scrollIntoView();')

这里面,关键的是这句 js:

var elmnt =document.getElementById("rs");
elmnt.scrollIntoView();

这个 rs 相当于页面里面的id="rs",相当于我们查找路径的#rs,大家可以用var x = document.getElementsByClassName("intro");或者其他类似的 java scripts 来定位自己需要元素,注意 getElements 和 getElement 得到的对象是不同的。这里面需要很多 java scripts 的知识,我也不是太懂,都是请教百度这位好老师的。