如何使用Python遍历Selenium中的内部div标记?

2024-09-30 20:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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" id="click">Click me</a>
  <div>
</div>

我如何在这里抓取Click me按钮并使用Selenium进行单击。我使用了driver.find_element_by_id(),但它不起作用,并给出了一个错误。在

我想我可能需要遍历div标记才能到达按钮。在

^{pr2}$

错误:

    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) 

-----

Tags: divcomdriverjscomponentsextensionstmpat