簡體   English   中英

Selenium Webdriver:如何使用Python編寫的FireShot拍攝全屏屏幕截圖

[英]Selenium Webdriver: How to take full page screenshot using FireShot written in Python

在Selenium Webdriver中,我希望能夠使用從Python腳本執行的FireShot拍攝完整的屏幕截圖。

到目前為止,我有以下代碼:

import unittest
import execjs
from execjs import get
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
from selenium.webdriver.common.keys import Keys

class PythonOrgSearc(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome('/usr/bin/chromedriver');

    def test_login_and_make_payment_on_account(self):
        driver = self.driver;
        driver.set_window_size(1024,768);

        # Log in to My Account
        driver.get("https://www.mywebsite.com");
        self.assertIn("Sign In", driver.title);
        driver.save_screenshot('/Users/username/Documents/Selenium_Test/01a_login.png');

        # Enter username
        user = driver.find_element_by_id("EmailOrAccountNumber");
        user.send_keys("user@me.co.uk");

        # Enter password and submit form
        password = driver.find_element_by_id("Password");
        password.send_keys("password123");
        driver.save_screenshot('/Users/username/Documents/Selenium_Test/01b_login_filled.png');
        password.send_keys(Keys.RETURN);

        # Confirm logged into My Account
        self.assertIn("Account Summary", driver.title);
        driver.save_screenshot('/Users/username/Documents/Selenium_Test/02a_My_Account.png');

    def tearDown(self):
        self.driver.close();

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

我已經安裝了PyExecJS,但不知道如何開始使用FireShot API替換代碼中使用的當前save_screenshot函數。 感謝您提供的任何指導或指導。

我認為最好使用driver.execute_script命令在瀏覽器中執行javascript,但是如果您想檢查標記,也許applitools可以為您提供幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM