Utilisez le pilote Web phantomjs de sélénium avec unittest de python

Utilisez le pilote Web phantomjs de sélénium avec unittest de python

foie

test.py


#!/usr/bin/env python
# -*- coding:utf-8 -*-

import os
import unittest
import commands

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException

USER_AGENT = "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53"


def unittest_phantomjs_webdriver_decorator(klass):
    def __setUpClass(cls):
        (status, phantomjs_path) = commands.getstatusoutput("which phantomjs")
        if not status == 0:
            raise StandardError("phantomjs is not found!!")

        cls.driver = webdriver.PhantomJS(
            executable_path=phantomjs_path,
            service_log_path="/dev/stdout",
            desired_capabilities={
                'phantomjs.page.settings.userAgent': USER_AGENT,
            },
            #En passant par un proxy
            #service_args=[
            #    '--proxy=127.0.0.1:9999',
            #    '--proxy-type=http',
            #],
        )
        cls.driver.set_window_size(1400, 1000)
        cls.driver.implicitly_wait(1)

    def __tearDownClass(cls):
        cls.driver.quit()

    klass.setUpClass = classmethod(__setUpClass)
    klass.tearDownClass = classmethod(__tearDownClass)
    return klass


@unittest_phantomjs_webdriver_decorator
class AccessTest(unittest.TestCase):

    def test_google(self):
        driver = self.driver
        url = """http://google.com"""
        driver.get(url)
        driver.save_screenshot("google.png ")

    def test_amazon(self):
        driver = self.driver
        url = """http://amazon.com"""
        driver.get(url)
        driver.save_screenshot("amazon.png ")

if __name__ == "__main__":
    unittest.main()

Recommended Posts

Utilisez le pilote Web phantomjs de sélénium avec unittest de python
Utilisez FireFox (via Homebrew-cask) avec les liaisons Selenium WebDriver Python
[Python] Utiliser JSON avec Python
Grattage avec Python + PhantomJS
Conduisez WebDriver avec python
Utiliser mecab avec Python 3
Utiliser DynamoDB avec Python
Utilisez Python 3.8 avec Anaconda
ScreenShot avec Selenium (édition Python)
Utiliser python avec docker
Grattage avec du sélénium [Python]
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku
Utiliser l'API Trello avec python
Grattage au sélénium en Python
Grattage avec Selenium + Python Partie 1
Utiliser l'API Twitter avec Python
Utiliser TUN / TAP avec Python
Python: travailler avec Firefox avec du sélénium
Selenium WebDriver + Firefox49 (provisoire) (Python)
Grattage avec Selenium + Python Partie 2
Défiez Python3 et Selenium Webdriver
Python: comment utiliser async avec
Utiliser la caméra Point Grey avec Python (PyCapture2)
Scraping avec Selenium en Python (Basic)
Exclure les cas spécifiés avec Python unittest
Utilisez NAIF SPICE TOOL KIT avec Python
Utiliser rospy avec virtualenv dans Python3
Utiliser Python mis en pyenv avec NeoVim
Utiliser la synthèse vocale Windows 10 avec Python
Utiliser OpenCV avec Python 3 dans Window
Utiliser PostgreSQL avec Lambda (Python + psycopg2)
[Python, Selenium, PhantomJS] Une histoire lors de la capture d'un site Web avec une charge paresseuse
Obtenir le code HTML de l'élément avec du sélénium Python
Utilisez smbus avec python3 sous environnement pyenv
Utiliser DeepL avec python (pour la traduction d'articles)
Test WebUI avec Python2.6 + Selenium 2.44.0 - paramètre de profil
[Introduction à Python] Utilisons foreach avec Python
Utilisez PIL ou Pillow avec Cygwin Python
Utiliser le chiffrement de la bibliothèque de chiffrement avec l'image Python de Docker
[Python2.7] Résumé de l'utilisation d'unittest
Redémarrez le routeur en utilisant Python, Selenium, PhantomJS
Utiliser Application Insights avec Python 3 (y compris les bouteilles)
[Python] Utiliser automatiquement le navigateur avec Selenium
Utilisation des fonctions C ++ de python avec pybind11
Pratiquer le web scraping avec Python et Selenium
Jusqu'à ce que vous puissiez utiliser opencv avec python
Utiliser Python et MeCab avec Azure Functions
Obtenez la largeur du div côté serveur avec Selenium + PhantomJS + Python
Test E2E pour sélectionner la boîte de sélection avec CasperJS, Nightmare et Python + WebDriver + PhantomJS
Sélénium, Phantomjs et BeautifulSoup4
Selenium + WebDriver (Chrome) + Python | Création d'un environnement pour le scraping
Grattage au sélénium
[Python / Selenium] XPath
FizzBuzz en Python3
Grattage avec Python
Je veux utiliser MATLAB feval avec python
Statistiques avec python
Utiliser des packages Python supplémentaires avec Serverless Framework (v1.x)