如果你正在为如何优雅地解决Web自动化测试难题而苦恼。那么今天我要向你介绍一个神奇的函数, 就是evaluate函数。 evaluate函数是什么呢?它是Selenium的API之一,用于直接从浏览器环境中执行JavaScript脚本,并返回结果。
使用evaluate函数能够获取页面中的所有元素,比如js变量、函数执行结果等等。同时,evaluate函数还支持XPath语法进行元素的定位,这使得我们在使用Selenium进行Web自动化测试时,可以自由定位到页面中的任何元素,这极大地方便了自动化测试工作。
例如下面这个例子,利用evaluate函数执行JavaScript脚本后,从Html中取出特定元素的值:
element_text = driver.execute_script("return document.getElementById('element_id').textContent;")
如上代码,我们就可以从Html中通过得到id的方式,将#element_id元素的textContent取出来。这样,我们就能轻松的获取到需要的页面元素并进行下一步的操作了。