python – Selenium – 走上dom树
我正在
python中使用unittest和Selenium RC在怪物网络应用程序(4兆负载)上工作.
我开始有类似的东西 xp = '//div[id="kahoona"]//button[text()="Big"]' selenium.click(xp) 这是好的,直到我们的一个开发人员开始修改像移动javascript事件处理程序之类的东西 这造成了一场噩梦,因为我必须一次解码生成意大利面条的extjs 我想要做的是,给出一些今天可能看起来像这样的html – 只有端点是确定的 – (某些元素会有id或类,有些则不会): '//div[id="kahoona"]//div//table//tr//td//div//div//div//button[text()="Big"]' 我需要找到一种方法,从按钮开始并使用Selenium,向上走到dom树(由于前面提到的修改而未知和更改)到外层包装器并在每个级别尝试类似selenium.click(the_current_xpath)的东西,直到 如果这可以相对有效地完成,我可以编写适应性测试,以解决无休止的修补工作.开发人员做他们自己的事情 – 我没有影响力,也无法访问源代码. 任何建议都非常欢迎. 解决方法
通过使用xpath:
//button[text()="Big"/parent::* 它将从按钮“大”向上走1级. 要走2级,请使用: //button[text()="Big"/parent::*/parent::* 然后你可以编写一个循环来将/ parent :: *添加到xpath然后尝试单击,直到它不抛出异常然后退出循环. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |