Intellij Python Selenium驱动程序函数未从其他函数调用

Intellij Python Selenium驱动程序函数未从其他函数调用,python,selenium-webdriver,intellij-idea,Python,Selenium Webdriver,Intellij Idea,驱动程序函数未在另一个函数中调用-网站未打开 当在另一个功能中不使用驱动程序功能时,网站被打开(出于某种原因,打开两次-总比没有好) 为什么下面的代码不能打开网站 from selenium import webdriver def mybrowserdriver(): chromedriver = webdriver.Chrome("C:/browserdrivers/chromedriver.exe") return chromedriver def op

驱动程序函数未在另一个函数中调用-网站未打开

当在另一个功能中不使用驱动程序功能时,网站被打开(出于某种原因,打开两次-总比没有好)


为什么下面的代码不能打开网站

   from selenium import webdriver

   def mybrowserdriver():
    chromedriver = webdriver.Chrome("C:/browserdrivers/chromedriver.exe")
    return chromedriver

  def opensite():
    mybrowserdriver().get('https://www.bing.com')
    mybrowserdriver().maximize_window()
为什么下面的代码会打开网站

   from selenium import webdriver

   def mybrowserdriver():
    chromedriver = webdriver.Chrome("C:/browserdrivers/chromedriver.exe")
    return chromedriver

   mybrowserdriver().get('https://www.bing.com')
   mybrowserdriver().maximize_window()

代码在函数外部工作,但在另一个函数内部不工作,这有什么解释呢?

第一行代码基本上不起任何作用,第二行代码最后执行两行代码

对于第一个函数,您只需定义两个函数:
mybrowserdriver()
opensite()
,并且从不调用它们


在第二行中,最后两行是实际执行的,因此函数
mybrowserdriver()
被调用两次。这也意味着
mybrowserdriver()
函数中
webdriver.Chrome()
的构造函数被调用了两次,导致出现两个浏览器窗口。

第一个块中的问题就在这里:

  def opensite():
您定义了一个函数
opensite()
,该函数调用
myseleniumdriver()
,但从未调用
opensite()
,因此Selenium从未启动

在第二个代码块中,直接从python脚本调用
myseleniumdriver()
,该脚本将不考虑执行情况

如果希望第一个脚本正常工作,请尝试以下操作:

   from selenium import webdriver

   def mybrowserdriver():
    chromedriver = webdriver.Chrome("C:/browserdrivers/chromedriver.exe")
    return chromedriver

  def opensite():
    mybrowserdriver().get('https://www.bing.com')
    mybrowserdriver().maximize_window()

  opensite()

“为什么以下代码不打开网站?”因为您从未调用
opensite()