我正在用python运行selenium测试。我对以下的html代码有一个特定的问题.....
<span class="cke_label" id="cke_8_label">Source</span>
我试过以下.......
self.assert_element_present_by_class('Source button', 'cke_8_label', 'cke_label')**
这是函数.........
def assert_element_present_by_class(self, description, id, name):
sel = self.selenium
try:
self.assert_(sel.is_element_present("//" + id + "[contains(@class,'" + name + "')]"))
logging.info('PASS: "' + description + '" is present')
except Exception:
logging.exception('FAIL: "' + description + '" is not present')
这给了我这个错误.......
文件“Template_Designer_P37.py”,第293行,in assert_element_present_by_class self.assert_(sel.is_element_present(“//”+ id +“[contains(@class,'”+ name +“')]”))) assertTrue中的“C:\ Python27 \ lib \ unittest \ case.py”,第420行 raise self.failureException(msg)AssertionError:False不正确
我尝试了其他一些方法,例如只是试图断言id * 强文 *存在
我的预感是问题围绕'id'
有什么想法吗?
答案 0 :(得分:2)
您尝试使用不正确的xpath并插入ID而不是标记名称。所以正确的版本将是
self.assert_(sel.is_element_present("//*[@id='" + id + "' and contains(@class,'" + name + "')]"))