我的 GUI 中有一个显示按钮,用于显示连接状态(带有绿色勾号的按钮表示已建立连接,带有红色叉号的按钮表示没有连接)
我必须使用我的代码检查状态。
我正在解析该特定标题栏类名(容器流体)的内容。
由此,我正在解析该显示按钮的显式内容。
elem = driver.find_element_by_class_name("container-fluid")
a= elem.get_attribute("outerHTML")
b= a.split("powerOn icon-ok-sign")
之后,我解析该按钮的一些显式内容并确定连接是否存在。
但是如果我使用类=“电源图标-ok-sign”,我收到错误:
不允许复合类名
<div class="powerOn icon-ok-sign" data-original-title="Connection" style=" font-size: 2em;" data-toggle="tooltip" title="" data-placement="bottom" ng-class="{"powerOn icon-ok-sign": titleArea.systemStatus.connection.value, "powerOff icon-remove-sign" : !titleArea.systemStatus.connection.value}"></div>
但是如果我使用 class="powerOn icon-ok-sign",我会收到错误 不允许复合类名
实际上selenium 不支持使用复合类来定位元素 name.
您应该尝试使用 on of then 代替:-
driver.find_element_by_class_name("powerOn")
Or
driver.find_element_by_class_name("icon-ok-sign")
或者最好的使用方法css_selector
使用多个类名来定位相同的元素:-
driver.find_element_by_css_selector(".powerOn.icon-ok-sign")
参考链接:-
- WebDriver 中不支持复合类名错误
- 如何避免页面对象中的复合类名称错误?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)