Как ждать объявления в фоновом режиме с селеном и python - PullRequest
1 голос
/ 03 апреля 2020

У меня проблема при попытке майнинга страницы с селеном и python, так как я делаю это, сценарий вылетает, потому что реклама иногда появляется, а иногда нет, а триггер для меня неизвестен, я действительно не знаю, что вызывает это объявление.

Есть ли способ подождать его в фоновом режиме?

вот эта страница: https://www.infomoney.com.br/cotacoes/petrobras-petr4/historico/

1 Ответ

0 голосов
/ 03 апреля 2020

Вы можете просто установить атрибут hidden для каждого iframe, чтобы сделать их невидимыми, следующим образом:

from selenium import webdriver

url = input('Enter URL to detect ads from: ')

browser = webdriver.Chrome()
browser.get('http://'+url)

all_iframes = browser.find_elements_by_tag_name("iframe")#set the tag name here
if len(all_iframes) > 0:
    print("Ad Found\n")
    browser.execute_script("""
        var elems = document.getElementsByTagName("iframe"); 
        for(var i = 0, max = elems.length; i < max; i++)
             {
                 elems[i].hidden=true;
             }
                          """)
    print('Total Ads: ' + str(len(all_iframes)))
else:
    print('No frames found')


#You can place your code here, as by now the ad should have been hidden.

PS Обратите внимание, что не каждый iframe на странице является рекламой!

...