使用Selenium&检查ID蟒蛇

时间:2012-04-25 08:29:49

标签: python selenium

我正在用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'

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您尝试使用不正确的xpath并插入ID而不是标记名称。所以正确的版本将是

self.assert_(sel.is_element_present("//*[@id='" + id + "' and contains(@class,'" + name + "')]"))