获取DOM的所有链接,除了某个div标签selenium python

时间:2017-10-06 13:21:05

标签: python selenium dom automation webdriver

如何获取DOM的所有链接,除了某个div标签?

这是我不想要链接的div:

<div id="yii-debug-toolbar">
  <div class="yii-debug-toolbar_bar">
    <div class="yii-debug-toolbar_block>
     <a>...</a>
    </div>
    <div class="yii-debug-toolbar_block>
      <a>...</a>
    </div>
  </div>
</div>

我在代码中获取了链接:

links = driver.find_elements_by_xpath("//a[@href]")

但是我不想从那个div那里得到那些,我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我不确定是否有一种简单的方法可以只使用seleniums xpath功能。但是,一个简单的解决方案可能是用BeautifulSoup解析HTML,删除所有<div id="yii-debug-toolbar">...</div>元素,然后选择剩余的链接。

from bs4 import BeautifulSoup
...
soup = BeautifulSoup(wd.page_source)
for div in soup.find_all("div", {'id':'yii-debug-toolbar'}): 
    div.decompose()
soup.find_all('a', href=True)