gpt4 book ai didi

css - 如何在 python3 中替换非标准标签的属性?

转载 作者:行者123 更新时间:2023-11-28 01:12:27 26 4
gpt4 key购买 nike

我有一些标签如下,它们使用非标准标签,样式为“display: none”。这些无法解析,所以我想替换 style="display: none;"为空字符串或 style="display: inline;" .

...
<section id="box3" class="nodisp_zero" style="display: none;">
<h1 id="box_ttl3" style="display: none;"></h1>
<img style="width: 100%; display: none;" id="box_img3" alt="box3" src="https://smtgvs.weathernews.jp/s/topics/img/dummy.png" class="lazy" data-original="https://smtgvs.weathernews.jp/s/topics/img/201808/201808220015_box_img3_A.jpg?1533975785">
<figcaption id="box_caption3" style="display: none;"></figcaption>
<div class="textarea clearfix">
<h2 id="box_subttl3" style="display: none;"></h2>
<div class="fontL" id="box_com3" style="display: none;"></div>
</div>
</section>
...

我尝试使用此代码,但出现错误 TypeError: 'NoneType' object is not callable ,我能做什么?

driver.get(href)
soup_level2 = BeautifulSoup(driver.page_source, 'lxml')
soup_level2 = soup_level2.replace(r'display:\s*none', "")
images = soup_level2.find_all('img')

最佳答案

您可以像这样删除样式属性:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_doc, 'html.parser')
for tag in soup.findAll(lambda tag:tag.has_attr('style')):
tag["style"] = tag["style"].replace("display: none;", "")

Demo

或者使用简单的正则表达式替换:

html_doc = re.sub(r"display:\s*none;?", "", html_doc, 0)

Demo


有几种方法可以wait for the content to be loaded使用 Selenium ,例如

element_present = EC.presence_of_element_located((By.ID, 'element_id'))
WebDriverWait(driver, timeout).until(element_present)

关于css - 如何在 python3 中替换非标准标签的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52031430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com