Очистка от селена для запуска сценария - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь удалить сайт, который запускает этот скрипт

    <div id="premarket_container" style="min-height: 250px;">
                 </div>
                 <script>
                    $(window).load(function () {
                        nativo_DynamicContentLoaded();
                    });
                 </script>

, но Selenium не запустит его, поэтому я не могу получить необходимую информацию.

Может кто-то помоги мне, я новичок в python.

Ответы [ 2 ]

0 голосов
/ 30 января 2020
from bs4 import BeautifulSoup
import re
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome('C:\\Python\chromedriver.exe')
driver.get('https://marketchameleon.com/Reports/PremarketTrading')

#res = driver.execute_script("return document.documentElement.outerHTML")
#driver.quit()
#time.sleep (20)
#soup = BeautifulSoup(res, 'lxml')
#box = soup.find('div', {'id': 'gainers_outer '})
#print(box)

try:
    element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((Byu.ID, "gainers_outer")))

finally:
    drvice.quit()
0 голосов
/ 29 января 2020

Скорее всего, проблема в том, что Selenium его запускает, но только после того, как вы выполните код очистки. $(window).load - это, по сути, код, который говорит один раз , когда страница загрузилась , затем загрузите данные.

Проблема в том, что Selenium очень вероятно выполняет код, который вам нужен, прежде чем эта функция успеет завершиться sh. Вам, вероятно, понадобится эта документация для решения вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...