我们在做web automation
的时候,经常会碰到很多元素难定位的情况,通常情况下我们比较容易去处理,例如我们找不到一个元素的id时,我们可以用xpath简单定位到
e.g.: //div[@id=’a’]/div/div/ul/li 诸如此类等等。
较为不幸的情况就是,一切都是变化的,我们无法去用某个元素是否存在或者某个元素是具有某些字符串来判断该页面是否正常显示,如果碰到这样的情况怎么办,比如一个reader下面每次显示的东西都是不一样的,但我现在要避免这个reader下显示为空这种异常,而其他的元素,即使在出现unexpected
error的时候也依然正常显示,并且窗口非模态,此时如何处理?
幸运是我可以拿到这个reader
pane的根节点//div[@id='reader']/div/div,
这个节点每次在打开不同文件的时候都会存在,这个时候我们就可以用一些简单的xpath知识来找到这个节点下是否有子节点存在//div[@id='reader']/div/div/*,
通过testng的断言可以轻易达到想要的结果
assertTrue(selenium.isElementExist(“//div[@id='reader']/div/div/*”))
Happy Ending
相关推荐
在使用Selenium进行自动化测试时,确保`chromedriver.exe`与Chrome浏览器版本的匹配至关重要,否则可能会出现兼容性问题,导致脚本无法正常运行。同时,定期检查并更新`chromedriver.exe`,以适应Chrome浏览器的更新...
在Python中,我们可以使用Selenium库进行Web自动化测试,它支持查找和操作各种HTML元素。对于Windows应用,PyWin32和pywinauto库提供了类似的功能。这些库提供了丰富的API,允许我们查找控件、读取其属性,甚至模拟...
版本不匹配可能导致驱动程序无法正常启动浏览器,或者测试脚本无法正常运行。下载与当前系统架构和浏览器版本相匹配的Chromedriver是自动化测试成功的关键。 安装Chromedriver相对简单。只需下载对应的压缩包,解压...
2. **XPath查询**:用户可以直接输入XPath表达式,插件将自动在当前页面上高亮显示匹配的元素,帮助验证XPath的正确性。 3. **元素操作**:XPath Helper允许用户对选中的元素进行一些基本操作,如复制XPath、CSS...
1. 数据获取:后端服务从数据库中查询数据,通常根据每页显示的条目数量和当前页码来决定查询的范围。 2. 分页计算:根据总记录数和每页显示的数量,计算出总页数。 3. 渲染页面:JSP页面中,使用适当的标签库(如...
- **修改(Update)**:用户选择要修改的记录,表单显示当前数据,用户修改后再次提交,ActionForm收集新数据,Action更新数据库中的记录。 - **查询(Query)**:可以基于不同条件进行查询,如ID、关键词等。...
由于这些数据是字节形式,所以它们需要被解码成字符串才能正常显示中文。在Python 3中,`sys.getfilesystemencoding()`可以获取当前系统的文件系统编码,然后用`decode`函数将字节数据转换为字符串: ```python ...
- **网页定制**:用户可以根据个人需求编写脚本来调整网页显示效果或功能。 - **自动化任务**:脚本可以实现如自动登录、抓取数据等自动化操作。 - **增强交互性**:通过脚本增强网页的交互性和功能性,比如添加...
`NumberReadFromFile()`和`NumberWriteToFile()`方法分别用于读取和写入当前的文件序号。 6. **字符串操作**:`substring()`方法用于截取字符串的一部分,例如在获取图片文件名时,用`substring...