Typescript 如何使用Selenium WebDriver与createSession()同步启动Chrome?
我有以下使用Selenium WebDriver启动Chrome浏览器的代码:Typescript 如何使用Selenium WebDriver与createSession()同步启动Chrome?,typescript,selenium,google-chrome,selenium-webdriver,Typescript,Selenium,Google Chrome,Selenium Webdriver,我有以下使用Selenium WebDriver启动Chrome浏览器的代码: import { Driver } from 'selenium-webdriver/chrome'; Driver.createSession(); console.log("I've launched!"); 我遇到的问题是,我想在浏览器实际成功启动后打印“我已启动”。然而,我看到的是,在Chrome实例实际启动之前,“我已经启动”会被打印到控制台上 如何使用createSession()同步启动Chrom
import { Driver } from 'selenium-webdriver/chrome';
Driver.createSession();
console.log("I've launched!");
我遇到的问题是,我想在浏览器实际成功启动后打印“我已启动”。然而,我看到的是,在Chrome实例实际启动之前,“我已经启动”会被打印到控制台上
如何使用
createSession()
同步启动Chrome?您可以尝试调用WebDriver,然后等待页面标题之类的简单内容
wait = WebDriverWait(driver, 10)
wait.until(EC.title_contains("expectedTitleOfBrowser"))
这将等待浏览器的标题为“expectedTitleOfBrowser”,这通常要求浏览器在等待完成之前完全启动
如果您只是开始Chrome会话,而不是实际在任何地方导航,那么标题将是一些通用的内容,如
数据
或无标题
您可以尝试调用Web驱动程序,等待页面标题之类的简单内容
wait = WebDriverWait(driver, 10)
wait.until(EC.title_contains("expectedTitleOfBrowser"))
这将等待浏览器的标题为“expectedTitleOfBrowser”,这通常要求浏览器在等待完成之前完全启动
如果您只是开始Chrome会话,而不是实际在任何地方导航,那么标题将是一些通用的内容,如
数据
或无标题
我发现等待浏览器启动的一种非常可靠的方法是等待会话解决。因此,完整代码变为:
import { Session } from 'selenium-webdriver';
import { Driver } from 'selenium-webdriver/chrome';
(async function example() {
let driver: Driver = Driver.createSession();
// Wait for the browser to be launched
let session: Session = await driver.getSession();
console.log("I've launched!");
})();
我发现等待浏览器启动的一种非常可靠的方法是等待会话解决。因此,完整代码变为:
import { Session } from 'selenium-webdriver';
import { Driver } from 'selenium-webdriver/chrome';
(async function example() {
let driver: Driver = Driver.createSession();
// Wait for the browser to be launched
let session: Session = await driver.getSession();
console.log("I've launched!");
})();