我在使用 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()”组合时是否有问题?
您看到的问题可能与启动 AppABC.exe 和启动 Chrome 浏览器之间的时间有关。
当您使用 os.system 时,它可能不会等待应用程序完全启动才继续下一步
我建议您尝试摆脱 os.system(即尝试用子进程替换它)或在启动应用程序和浏览器之间添加一些睡眠(time.sleep)。