为什么我无法使用selenium-python捕获精选框项目的屏幕截图?

时间:2016-09-29 05:33:29

标签: python selenium

我的页面上有一个选择框。我点击它展开它,显示所有值。现在我拍摄截图,但在屏幕截图中,选择框未展开。请检查。

代码:

import unittest
from selenium import webdriver
import datetime
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from selenium.common.exceptions import NoSuchElementException
from unittest import TestCase
import re
import time
import autoit

url="https://www.facebook.com"

class SprintTests(unittest.TestCase):

    def setUp(self):
        self.verificationErrors = []
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.driver.maximize_window()
        self.driver.get(url)

    def test_offer_1(self):
        a=self.driver.find_element_by_id("day")
        a.click()
        time.sleep(5)
        self.driver.save_screenshot("res.jpg")


    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main(verbosity=2)

我的代码生成的图片: enter image description here

预期图片: enter image description here

1 个答案:

答案 0 :(得分:1)

在给定的情况下,预计会以这种方式行事。 当您在驱动程序对象上执行save_screenshot时,驱动程序对象现在正忙着为您获取屏幕截图,而不是保持选择菜单打开。 一种可能的解决方案是在不同的线程中启动save_screenshot方法。