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) |
上一篇:Python Selenium 加载特定元素 停止页面加载
下一篇:使用 Laravel10 和 Vue3 创建单页应用程序 单入口单页面应用
支付宝扫一扫打赏
微信扫一扫打赏
共 0 条评论关于"Python Selenium 删除指定标签, 删除注释,执行js脚本"
最新评论