繁体   English   中英

在类中重用“ driver.webdriver”

[英]Reusing “driver.webdriver” in a class

我对python和selenium完全陌生,因此请原谅该解决方案的设计。

我已经四处逛逛,但是找不到所需的答案。

我正在尝试创建一个名为“ Navigators”的类,该类可用于轻松地在系统中导航。

我的想法是,我可以从类中调用一个函数,然后将其带到我要处理的窗口。

我面临的问题是驱动程序变量

driver = webdriver.Chrome('C:/temp/chromedriver.exe')

每次使用该变量时,它都会打开一个新的Chrome browser

有没有一种方法可以使用我的变量而不打开新的浏览器? 我希望我的功能可以执行以下操作:

Users = driver.find_element_by_link_text("Users")
Users.click()

您将必须创建驱动程序的单个实例。

class commonLib{
 Webdriver driver = null
 private setDriver()
{
    driver = new FirefoxDriver();
}
public static getDriver(){
  return driver;
}
}

因此,无论您在哪里使用驱动程序。 利用功能getDriver();

例如: Users=getDriver().find_element_by_link_text("Users") Users.click()

另外,您可以将Singleton类用于webdriver类,其中无论创建多少实例,都只会创建一个实例,它将指向单个实例。

感谢您的帮助。 我使用了RemcoW的建议,并研究了使用Page Object设计模式。 这似乎最适合我要实现的目标,这是我用来建立代码的页面:

https://justin.abrah.ms/python/selenium-page-object-pattern--the-key-to-maintainable-tests.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM