下面代表我通过其CSS选择器获取元素的元素标记“#xwt_widget_navigation__slidemenu__SlideOutNavigationButton_1”
<div class="xwtSlideMenuLevel0 hasIcon xwtSlideOutNavigationButton xwtSlideOutNavigationButtonFocused dijitFocused" data-dojo-attach-event="ondijitclick: _onItemClick, onmouseenter: _mouseEnter, onmouseleave: _mouseLeave" id="xwt_widget_navigation__slidemenu__SlideOutNavigationButton_1" widgetid="xwt_widget_navigation__slidemenu__SlideOutNavigationButton_1">
<div class="xwtSlideOutNavigationButtonInner" tabindex="0" role="button" data-dojo-attach-point="buttonNode,focusNode" title="Topology">
<div class="xwtSlideOutNavigationButtonIcon topologyIcon" data-dojo-attach-point="iconNode">
</div>
<div class="xwtSlideOutNavigationButtonTitle" data-dojo-attach-point="titleNode">
<a href="#menuItem=%2Ftopology_nav_item_id" class="xwtSlideOutNavigationButtonLink" tabindex="-1">Topology</a>
</div>
<div class="xwtSlideOutNavigationArrow" data-dojo-attach-point="arrowNode">
<span class="xwtSlideOutNavigationArrowIcon"></span>
</div>
</div>
</div>
问题出在我做的时候
topo = driver.find_element_by_css_selector("xwt_widget_navigation__slidemenu__SlideOutNavigationButton_1")
topo.click()
这将返回None,无错误或任何sort.Am在Linux cmd行上运行,并使用pyvirtualdisplay。当我做截图时,它没有显示发生了什么,但是当我使用pdb.set_trace()进行调试时,它可以逐步执行代码。我已经查看了StackOverflow和其他地方的示例,但我找不到类似或有用的东西。谁能告诉我我做错了什么?
答案 0 :(得分:0)
我认为你缺少一个#
,因为你的css_selector基本上使用的是元素id。请尝试以下方法:
topo = driver.find_element_by_css_selector("#xwt_widget_navigation__slidemenu__SlideOutNavigationButton_1")
或者
topo = driver.find_element_by_id("xwt_widget_navigation__slidemenu__SlideOutNavigationButton_1")