Selenium Webdriver Python 并排使用

1 投票
2 回答
933 浏览
提问于 2025-04-17 10:33

有没有办法在同一个程序里同时使用selenium和webdriver的功能?我想要截个屏,但在执行“.capture_entire_page_screenshot(...)”这个命令的时候,selenium就崩溃了。

2 个回答

0

你能详细说说你遇到的错误是什么吗?也许你的代码哪里出了问题。对我来说,这在Selenium 1中运行得非常好:

from selenium import selenium
import unittest, time, re

class IIIAppforloop(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", 4444, "*firefox", "http://www.yahoo.com/")
        self.selenium.start()

    def test_i_i_i_appforloop(self):
        sel = self.selenium
        sel.open("/")
        sel.wait_for_page_to_load(60000)
        sel.capture_entire_page_screenshot(r"C:\picture.png", " ")


    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

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

我不建议把SeleniumRC(版本1的接口)和WebDriver(版本2的接口)混在一起使用。这样做只会让事情变得更加麻烦,而没有任何好处。

如果你在用WebDriver,有没有试过

import contextlib
import selenium.webdriver as webdriver
with contextlib.closing(webdriver.Firefox()) as driver:
    driver.implicitly_wait(10)
    driver.get('http://www.google.com')
    # driver.get_screenshot_as_file('/tmp/google.png')
    driver.save_screenshot('/tmp/google.png')

撰写回答