windows 执行 selenium Python代码后,谷歌浏览器自动关闭

9rygscc1  于 2023-03-19  发布在  Windows
关注(0)|答案(4)|浏览(293)

此代码运行时没有任何错误,但在搜索w3school后会自动关闭谷歌浏览器

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

shstlldc1#

尝试webdriver中提供的实验选项,如下所示:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)

driver = webdriver.Chrome(options=options, executable_path="path/to/executable")

警告:这会使chrome选项卡处于打开和分离状态,之后您必须手动关闭这些选项卡

xqkwcwgp

xqkwcwgp2#

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

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

ykejflvf3#

因为“driver”变量是函数中的局部变量,所以当函数完成时,“driver”变量将被删除,然后浏览器自动关闭。
=〉解决方法是在程序中设置“driver”为全局变量。

bt1cpqcv

bt1cpqcv4#

我用chromedriver来打开chrome。
1.根据你的chrome版本下载chrome驱动程序.
1.将chrome驱动程序解压缩到C盘中的以下路径。
1.然后使用下面的代码打开chrome网页。

chromepath = 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe'
driver = webdriver.Chrome(executable_path=chromepath)

相关问题