fang

Python Selenium 删除指定标签, 删除注释,执行js脚本

执行js

1
2
3
4
5
6
7
8
9
def execute_js():
    js = (' ' +
           'var ele2 = document.getElementsByClassName("appendQr_wrap"); if(ele2[0])ele2[0].remove();' +
           'var ele3 = document.getElementsByClassName("app-kaihu-qr"); if(ele3[0])ele3[0].remove();'+
           'var ele4 = document.getElementsByClassName("otherContent_01"); if(ele4[0])ele4[0].remove();'+
           '')
    return js

driver.execute_script(execute_js())

正则处理字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def filter_tags(htmlstr):
    #先过滤CDATA
    re_cdata=re.compile('//<!\[CDATA\[[^>]*//\]\]>',re.I) #匹配CDATA
    re_div=re.compile('<\s*div[^>]*>[^<]*<\s*/\s*div\s*>',re.I)#div
    re_script=re.compile('<\s*script[^>]*>[^<]*<\s*/\s*script\s*>',re.I)#Script
    #re_script=re.compile('<s*script[^>]*>[^<]*<s*/s*scripts*>', re.I)  # Script
    re_style=re.compile('<\s*style[^>]*>[^<]*<\s*/\s*style\s*>',re.I)#style
    re_br=re.compile('<br\s*?/?>')#处理换行
    #re_h=re.compile('</?\w+[^>]*>')#HTML标签
    re_comment=re.compile('<!--[^>]*-->')#HTML注释
    #s=re_cdata.sub('',htmlstr)#去掉CDATA


    s=re_style.sub('',htmlstr)#去掉style
    s = re_comment.sub('', s)  # 去掉HTML注释
    s = re_div.sub('', s)  # 去掉div
    s = re_script.sub('', s)  # 去掉SCRIPT
    s=re_br.sub('\n',s)#将br转换为换行
    #s=re_h.sub('',s) #去掉HTML 标签

    #去掉多余的空行
    blank_line=re.compile('\n+')
    s=blank_line.sub('\n',s)

    #s = re.sub(r'\n\s*\n', r'\n', s)  # 删除空行
    s = re.sub(r'\n\s*\n', '', s)  # 删除空行
    s = re.sub(r'\n', '', s)
    return s

id = 'article'
content = driver.find_element(By.XPATH, "//div[@id='%s']"  %(id) ).get_attribute('innerHTML')
# print(content)
text = filter_tags(content)
赞(1) 打赏
标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"Python Selenium 删除指定标签, 删除注释,执行js脚本"

表情

最新评论

    暂无留言哦~~

支付宝扫一扫打赏

微信扫一扫打赏