亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在運行程序時保持 Selenium Webdriver chrome 瀏覽器打開?

如何在運行程序時保持 Selenium Webdriver chrome 瀏覽器打開?

PHP
當年話下 2023-11-09 10:48:11
我正在使用硒從體育網站提取數據。我希望 Chrome 瀏覽器保持打開狀態,直到我將其關閉。但我的程序在 3-4 秒后關閉 Chrome 窗口。任何有關尋找解決方案的幫助將不勝感激。這是我的代碼:from selenium import webdriverfrom selenium.webdriver.common.keys import  Keysimport pandas as pdprint('\nWelcome to Arsenal FC players payroll page\n')page_num = input('Enter the year for payroll data (2011-2020): ')df = pd.DataFrame(columns = ['Player', 'Salary', 'Year']) #creates a master dataframedriver = webdriver.Chrome('/Users/mahtabkhan/Documents/chromedriver')if(page_num != 2020):    url = 'https://www.spotrac.com/epl/arsenal-fc/payroll/' + page_num + '/'else:    url = 'https://www.spotrac.com/epl/arsenal-fc/payroll/' driver.get(url)players = driver.find_elements_by_xpath('//td[@class="player"]')salaries = driver.find_elements_by_xpath('//td[@class="cap info"]')#to get the text of each player into a listplayers_list = []for p in range(len(players)):    players_list.append(players[p].text)#to get the salaries into a listsalaries_list = []for s in range(len(salaries)):    salaries_list.append(salaries[s].text)  data_tuples = list(zip(players_list[1:],salaries_list[1:])) # list of each players name and salary paired togethertemp_df = pd.DataFrame(data_tuples, columns=['Player','Salary']) # creates dataframe of each tuple in listtemp_df['Year'] = page_num   # adds season beginning year to each dataframedf = df.append(temp_df)  #appends to master dataframedriver.close()
查看完整描述

4 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

在您的 WebDriver 中(當您實例化它時),您可以將以下內容添加到 Chrome 選項中


chrome_options.add_experimental_option("detach", True)

完成此操作后,通過命令終端(Windows 中的命令提示符)運行它,它應該不會關閉


主程序 - 供參考


from selenium import webdriver


def get_chrome_driver():

    """This sets up our Chrome Driver and returns it as an object"""

    path_to_chrome = "F:\Selenium_Drivers\Windows_Chrome85_Driver\chromedriver.exe"

    chrome_options = webdriver.ChromeOptions() 

    

    # Keeps the browser open

    chrome_options.add_experimental_option("detach", True)

    

    # Browser is displayed in a custom window size

    chrome_options.add_argument("window-size=1500,1000")

    

    # Removes the "This is being controlled by automation" alert / notification

    chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])

    

    return webdriver.Chrome(executable_path = path_to_chrome,

                            options = chrome_options)




# Gets our chrome driver and opens our site

chrome_driver = get_chrome_driver()

chrome_driver.get("https://www.google.com/")

print('The browser should not close after you see this message')

chrome_driver.service.stop()


查看完整回答
反對 回復 2023-11-09
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

硒 4 / PHP / Docker


$this->driver = RemoteWebDriver::createBySessionID(self::$session_id, self::$server, 60000, 60000);


version: "3.5"

#Latest version

networks:

  grid-network:


services:


  selenium-hub:

    image: selenium/hub:latest

    container_name: selenium-hub

    ports:

      - "4446:4444"

    networks:

      - grid-network

      

  chrome:

    shm_size: 4gb 

    image: selenium/standalone-chrome:latest

    container_name: chrome

    depends_on:

      - selenium-hub

    environment:

      - NODE_MAX_SESSION=5

      - NODE_MAX_INSTANCES=5

      - GRID_MAX_SESSION=31556926

      - GRID_BROWSER_TIMEOUT=31556926

      - GRID_TIMEOUT=31556926

      - GRID_SESSION_TIMEOUT=31556926

      - SESSION_TIMEOUT=31556926

      - NODE_SESSION_TIMEOUT=31556926

      - GRID_CLEAN_UP_CYCLE=31556926

      - SE_NODE_SESSION_TIMEOUT=31556926

      - SE_SESSION_REQUEST_TIMEOUT=31556926

    volumes:

      - /dev/shm:/dev/shm

    ports:

      - "33333:5900"

      - "3333:7900"

      - "44444:4444"

    links:

      - selenium-hub

    networks:

      - grid-network


查看完整回答
反對 回復 2023-11-09
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

driver.close()它關閉是因為您在末尾添加了內容。只要刪除該行,瀏覽器就會永遠保持打開狀態。如果你想在一段時間后關閉它,那么你可以像這樣添加time.sleep之前:driver.close()


import time


# Your code


time.sleep(60) #Stays open for 60 seconds (which is 1 min)


driver.close()


查看完整回答
反對 回復 2023-11-09
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

driver.close() 將關閉您的瀏覽器。如果您希望瀏覽器仍然打開,只需將其刪除



查看完整回答
反對 回復 2023-11-09
  • 4 回答
  • 0 關注
  • 233 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號