Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何使用Selenium WebDriver与createSession()同步启动Chrome?_Typescript_Selenium_Google Chrome_Selenium Webdriver - Fatal编程技术网

Typescript 如何使用Selenium WebDriver与createSession()同步启动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

我有以下使用Selenium WebDriver启动Chrome浏览器的代码:

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!");
})();