如何使用Python遍历Selenium中的内部div标记?
我有一个html代码,如下所示:如何使用Python遍历Selenium中的内部div标记?,python,selenium,Python,Selenium,我有一个html代码,如下所示: <div class="abc"> <div class ="xyz" <p> xyz </p> </div> <div class= "foo"> <p>foo</p> <a class="btn btn-lg btn-success" href="www.google.com" role="button" name="click"
<div class="abc">
<div class ="xyz"
<p> xyz </p>
</div>
<div class= "foo">
<p>foo</p>
<a class="btn btn-lg btn-success" href="www.google.com" role="button" name="click" id="click">Click me</a>
<div>
</div>
错误:
raise exception_class(message, screen, stacktrace)
InvalidSelectorException: Message: u'The given selector abc is either invalid or does not result in a WebElement. The following error occurred:\nInvalidSelectorError: Compound class names not permitted' ; Stacktrace:
at FirefoxDriver.annotateInvalidSelectorError_ (file:///tmp/tmpXXYwwK/extensions/fxdriver@googlecode.com/components/driver_component.js:8879)
at FirefoxDriver.prototype.findElementInternal_ (file:///tmp/tmpXXYwwK/extensions/fxdriver@googlecode.com/components/driver_component.js:8910)
at FirefoxDriver.prototype.findChildElement (file:///tmp/tmpXXYwwK/extensions/fxdriver@googlecode.com/components/driver_component.js:8917)
at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpXXYwwK/extensions/fxdriver@googlecode.com/components/command_processor.js:10884)
at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpXXYwwK/extensions/fxdriver@googlecode.com/components/command_processor.js:10889)
at DelayedCommand.prototype.execute/< (file:///tmp/tmpXXYwwK/extensions/fxdriver@googlecode.com/components/command_processor.js:10831)
-----
由于“单击我”是一个链接,您可以使用链接文本找到它,然后单击它:
driver.find_element_by_link_text("Click me")
当您尝试驱动程序时,您遇到了什么错误。通过id查找元素?鉴于该错误,有两种可能性。div包含在frame还是iframe中?元件加载速度慢吗?是的,是滑块,元件在4秒后加载。如何让我的驱动程序等待5秒?这只是我作为Selenium初学者的经验,我认为find_element_by_class_name找不到设置了class属性的元素。为此,您必须执行findElementBy.xpath//div[@class='foo']。。。。对于加载速度较慢的元素,此链接提供了几种很好的方法:
driver.find_element_by_link_text("Click me")