执行selenium python代码后,googlechrome会自动关闭



此代码运行时没有任何错误,但在搜索w3school后会自动关闭google chrome

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
def google():
driver.get("https://www.google.com")
driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[1]/div/div[2]/input').send_keys('w3school')
driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[3]/center/input[1]').send_keys(Keys.ENTER)
google()

试试webdriver中提供的实验选项,比如:

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=options, executable_path="path/to/executable")

注意事项:这确实会使镀铬标签打开和分离,之后您必须手动关闭

您必须在函数外部打开浏览器实例,以便在执行函数内部的代码后保持打开状态

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.google.com")    
def google():
driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[1]/div/div[2]/input').send_keys('w3school')
driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[3]/center/input[1]').send_keys(Keys.ENTER)
google()

因为"驱动器";变量是函数中的局部变量,因此当函数完成时;驱动器";变量将被删除,然后浏览器将自动关闭。

=>解决方案是您设置";驱动器";是程序中的全局变量。

我使用chromedriver打开chrome。

  1. 根据您的chrome版本下载chrome驱动程序
  2. 将chrome驱动程序解压缩到C驱动器中的以下路径
  3. 然后使用以下代码打开chrome网页
chromepath = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'
driver = webdriver.Chrome(executable_path=chromepath)

在我的案例中,chrome驱动程序的版本需要被我的chrome的currenct版本所取代。

相关内容

  • 没有找到相关文章

最新更新