【问题标题】:Python Selenium: Global driver - 'driver' is not defined in the global scopePython Selenium:全局驱动程序-“驱动程序”未在全局范围内定义
【发布时间】:2019-10-14 11:44:02
【问题描述】:

源本身可以工作,但我的问题是全局驱动程序未定义,仅在 VsCode 中。当我在 pycharm 中运行源代码时,该问题不存在。不幸的是,我真的不知道如何继续。

问题:“驱动程序”未在全局范围内定义

我使用 Python 3.7.2 和 pytest

from selenium import webdriver
import pytest
from selenium.webdriver.common.keys import Keys


def test_setup():
        global driver
        driver = webdriver.Chrome(executable_path="e:/Webdriver/chromedriver.exe")
        driver.implicitly_wait(10)
        driver.maximize_window()

def test_login():
        driver.get("http://www.dev-crowd.com/wp-login.php")
        driver.find_element_by_id("user_login").send_keys("abc")
        driver.find_element_by_id("user_pass").send_keys("cab")
        driver.find_element_by_id("wp-submit").click()
        x = driver.title("abc")
        assert X == "abc"


def test_teardown():    
        driver.close()
        driver.quit()
        print("Test completed")

【问题讨论】:

标签: selenium selenium-webdriver selenium-chromedriver selenium-ide


【解决方案1】:

以下应该可以,但我认为没有必要:

from selenium import webdriver
import pytest
from selenium.webdriver.common.keys import Keys

driver = None


def test_setup():
    driver = webdriver.Chrome(executable_path="e:/Webdriver/chromedriver.exe")
    driver.implicitly_wait(10)
    driver.maximize_window()


def test_login():
    driver.get("http://www.dev-crowd.com/wp-login.php")
    driver.find_element_by_id("user_login").send_keys("abc")
    driver.find_element_by_id("user_pass").send_keys("cab")
    driver.find_element_by_id("wp-submit").click()
    x = driver.title("abc")
    assert x == "abc"


def test_teardown():
    driver.close()
    driver.quit()
    print("Test completed")

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2022-11-07
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 2017-01-30
    相关资源
    最近更新 更多