Невозможно удалить веб-страницу с использованием класса реализации селена - PullRequest
0 голосов
/ 27 мая 2020

Я использую selenium для удаления веб-страницы, динамически генерируемой javascript. Он отлично работает, когда я звоню напрямую с терминала cmd (python). Но не работает нормально, когда я реализовал эту функцию в классе.

Моя реализация класса:

    class web_scrapper():
        def __init__(self):
            # start chrome driver 
            self.driver = webdriver.Chrome(executable_path="./config/chromedriver.exe")

       # scrap web page from specified url
        def scrap_page(self, url):
            html = None
            try:
                # scrap page
                self.driver.get(url)

                # read html 
                html = self.driver.execute_script("return document.documentElement.innerHTML;")
            except Exception as e:
                print('[Error:] Scrapping failed.')
                print(f'[Exception:] {e}')

            return html
     if __name__ == '__main__':
         url = "https://wipp.edmundsassoc.com/Wipp/?wippid=1205#taxPage9"
         scrapper = web_scrapper()
         content = scrapper.scrap_page(url)

Код, который я использовал в терминале:

driver = webdriver.Chrome(executable_path='E:/Projects/Python_Projects/WebScrapping/config/chromedriver.exe')
driver.get("https://wipp.edmundsassoc.com/Wipp/?wippid=1205#taxPage30")
content = driver.execute_script("return document.documentElement.innerHTML;")

Результат реализации класса:

<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <link type="text/css" rel="stylesheet" href="Wipp.css">
    <title>WIPP</title>
  <link rel="stylesheet" href="https://wipp.edmundsassoc.com/Wipp/wipp/gwt/standard/standard.css"><script src="https://wipp.edmundsassoc.com/Wipp/wipp/0D3421F8F9508D2F958C63CE2A48BAD8.cache.js"></script></head>

  <body>
    <script type="text/javascript" language="javascript" src="wipp/wipp.nocache.js"></script>
    <iframe src="javascript:''" id="__gwt_historyFrame" tabindex="-1" style="position:absolute;width:0;height:0;border:0"></iframe>


</body>

В то время как в случае команд на терминале python результат в порядке.

Любая помощь по этому поводу будет заметна. Спасибо!

Я использую Windows ОС, а Python версия - 3.6.

1 Ответ

1 голос
/ 27 мая 2020

Добавить time.sleep () после получения URL

self.driver.get(url)
time.sleep(10)
...