Python Selenium-使用在另一个文件中启动的相同驱动程序实例

时间:2018-07-12 10:45:46

标签: python selenium

在第一个文件中,有一个下面的代码。

我要在第二个文件中使用第一个文件的驱动程序实例,我可以调用它,但会收到Nosuchelementexception异常

基本上我希望两个文件都使用相同的浏览器会话,请注意,正确提供了import语句以使用这些文件。

Init()类:     驱动程序= webdriver.Chrome(         execute_path =“ C:\ Program Files(x86)\ Python36-32 \ selenium \ webdriver \ chromedriver_win32 \ chromedriver.exe”)

def take_screenshot(self):
    Init.driver.get_screenshot_as_png("Testcase.png")

def browser_launch(self):
    Init.driver.set_page_load_timeout(20)
    Init.driver.get("http://url/")
    Init.driver.maximize_window()

def user_comes_in(self):
    Init.driver.find_element_by_id("username").send_keys("admin")
    Init.driver.find_element_by_name("password").send_keys("admin")
    Init.driver.find_element_by_class_name("Button").click()
    Init.driver.set_page_load_timeout(20)

在第二个文件中,这是代码

initiate = Init()

第二类(unittest.TestCase):     initial.browser_launch()

def test_user_logs(self):
    initiate.user_comes_in()
    print("test case one")

def test_user_create(self):

    initiate.user_creation()
    print("Test case two")

1 个答案:

答案 0 :(得分:0)

如果可以让浏览器保持打开状态,则可以这样操作:

init.py:

def setDriver():
    driver = webdriver.Firefox()
    driver.maximize_window()

driver = setDriver()

1.py:

from init.py import driver
driver.get('xxxx')

2.py:

from init.py import driver
driver.get('yyyy')

他们将使用相同的驱动程序和相同的浏览器。 但是,如果您关闭任何案例文件中的驱动程序,其他人将无法再次使用它。因此它仅在不需要关闭浏览器的情况下可用。