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()
。