我堆积在代码上,尝试了很多方法,但还没有找到正确的答案。这是 HTML 代码:
<div class="description">
<p>Text1</p>
<p>Text1</p>
<div class="excluding-class">
<ul>
<li>list1</li>
<li>list2</li>
</ul>
</div>
</div>
我正在使用硒,我必须从具有
<div class="description">
的HTML代码中提取一些数据。但是孩子<div id="excluding-class">
让我成为问题,所以我想通过打电话driver.get_element_by_class_name
或driver.get_element_by_xpath
来排除它
工作代码应该导出,但不要使用<p>
或其他东西:
<div class="description">
<p>Text1</p>
<p>Text1</p>
</div<
有什么办法可以做到这一点吗?
只有 XPath 1.0(Selenium webdriver 中最常见的版本),无法获取 innerHTML 属性将排除指定子元素的父元素。但是,如果从 DOM 中删除子元素对您来说没问题,则可以执行以下操作:
driver.execute_script("document.getElementsByClassName('excluded-class').remove()")
driver.get_element_by_class_name("description").get_attribute("innerHTML")