Python - Selenium:“os.system”和“driver.get()”问题

问题描述 投票:0回答:1

我在使用 selenium 打开 localhost:9222 时遇到问题,代码如下:

#-- IMPORT LIBRARY:
import time
import os
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By

            

class TC_01_Start9222(unittest.TestCase):
    
    def setUp(self):
        #Step 1:
        vr_StartApp = os.system(r'"C:/Program Files (x86)/ABC/AppABC/AppABC.exe"')
                
        #Step 2:
        self.Driver = webdriver.Chrome()
        self.Driver.get("http://localhost:9222")
        print(self.Driver.title)
        vr_AppABC_GUI = self.Driver.find_element(By.XPATH, "//*[@id='items']/a[1]")
        vr_AppABC_GUI.click()

    def test_MainTC(self):
        pass
    
    def tearDown(self):       
        time.sleep(100)
        self.Driver.quit()


#-- REPORT BY UNITTEST-------------# 
if __name__ == "__main__":
    unittest.main()
#----------------------------------#

用上面我的代码:

  • 步骤1可以运行,AppABC可以启动

  • 但是第2步:Chrome浏览器之后无法启动

  • 如果我手动打开AppABC(步骤1),我的Chrome浏览器(步骤2)可以完全启动

请问“os.system”和“driver.get()”组合时是否有问题?

python selenium-webdriver
1个回答
0
投票

您看到的问题可能与启动 AppABC.exe 和启动 Chrome 浏览器之间的时间有关。

当您使用 os.system 时,它可能不会等待应用程序完全启动才继续下一步

我建议您尝试摆脱 os.system(即尝试用子进程替换它)或在启动应用程序和浏览器之间添加一些睡眠(time.sleep)。

© www.soinside.com 2019 - 2024. All rights reserved.