我已经用BeautifulSoup在页面的HTML中找到一个特定的div类。我想检查这个 div 里面是否有一个 span 类。如果这个 div 有 span 类,我想在页面的代码中保留它,但如果它没有,我想删除它,也许可以使用 Selenium。
为此,我有两个选择元素(div和span)的列表。我试着检查一个列表是否在另一个列表里面,这有点奏效。但怎样才能从页面的源代码中删除那个被发现的元素呢?
在评论区的一些对话之后,我编辑了代码。在帮助下,我能够实现删除元素的代码,执行javascript。
代码正在运行,没有错误,但没有任何东西从页面上被删除。
# Import required module
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import time
# Option to launch browser in incognito
options = Options()
options.add_argument("--incognito")
#options.add_argument("--headless")
# Using chrome driver
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
# Web page url request
driver.get('https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=BR&q=frete%20gr%C3%A1tis%20aproveite&sort_data[direction]=desc&sort_data[mode]=relevancy_monthly_grouped&search_type=keyword_unordered&media_type=all')
driver.maximize_window()
time.sleep(10)
driver.execute_script("""
for(let div of document.querySelectorAll('div._99s5')){
let match = div.innerText.match(/(\d+) ads? use this creative and text/)
let numAds = match ? parseInt(match[1]) : 0
if(numAds < 10){
div.querySelector(".tp-logo")?.remove()