《SeleniumBasic 3.141.0.0 - 在VBA中操作浏览器》高级技术之六:比较两个变量是否为同一对象
SeleniumBasic中的Utility类有一个Equals方法,可以判断任意两个变量是否指向同一个实际对象。
例如百度搜索的文本框和按钮的HTML定义如下
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
<input type="submit" value="百度一下" id="su" class="btn self-btn bg s_btn">
WD.URL = "https://www.baidu.com" Dim form As SeleniumBasic.IWebElement Dim keyword As SeleniumBasic.IWebElement Dim button As SeleniumBasic.IWebElement Set form = WD.FindElementById("form") Set keyword = form.FindElementById("kw") Set button = form.FindElementById("su") Dim Utility As New SeleniumBasic.Utility Debug.Print Utility.Equals(keyword, button) '返回False Debug.Print Utility.Equals(keyword, form.FindElementByName("wd")) '返回True
上述程序中的keyword和button是两个不同的对象,因此返回False。
文本框的id是kw,name属性是wd。虽然通过不同的定位方式获取到的,但是是同一个实际对象,返回True。