使用Selenium检查网页标签是否被选中
我想做一件非常简单的事情。有没有人知道如何用Selenium RC Python客户端来判断网页上的一个标签(Tab)是否被选中?
这里的标签指的是以下链接中的示例:
http://clagnut.com/sandbox/csstabs/?writingtext=csstabs#
http://esdi.excelsystems.com/wsexmp/DIVTAB.pgm?wsnum=00096
http://www.hongkiat.com/blog/drop-down-menu-30-free-scripts-to-enhance-header-navigation/
我知道可以用 get_eval(js)
来运行一些JavaScript代码,可能可以通过这些代码来查找某些变化。但是我想知道有没有一种通用的JavaScript可以告诉我一个标签是否被选中?或者有没有Selenium的方法可以直接使用(比如 focus()
等等)?
原因是,我可以通过调用 click(tab_locator)
来轻松点击标签。但我想确认一下我是否真的选中了这个标签。难道没有类似 is_tab_selected(tab_locator)
的方法吗?
1 个回答
1
在我测试的页面中,设计师为每个标签使用了一个元素。当选择某个标签时,这个的类名会被设置为“selected”。我用下面的方法来检查某个标签是否被选中。
def verifySelectedTabName(self, tabText):
if self.selenium.is_element_present("css=div.'tabheader' span.selected:contains(%s)"%tabText):
return 1
return 0
在你提到的示例页面中,标签看起来是元素。你应该可以查看这个的类名。例如,
self.selenium.is_element_present("css=div#container1 ul.tabs a.tab-active:contains(%s)"%tabText)