簡體   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