2016-09-29 55 views
0

我的页面上有一个选择框。我点击它展开它,并显示所有值。现在我带截图,但在截图中,选择框未展开。请检查。为什么我无法使用selenium-python捕获选择框项目的截图?

代码:

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

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

+0

那么,这是硒的限制吗? –

+0

不,硒以正确的方式正常工作。您如何期望单个物体同时执行两项不同的任务?你需要使用线程来实现这一点。 –

+0

你能帮助我使用不同线程的代码吗?我试图搜索,但没有结果。只是一个基本的想法会做。 –

相关问题