第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在劇作家測試中切換標(biāo)簽

在劇作家測試中切換標(biāo)簽

倚天杖 2023-05-11 14:15:27
我正在嘗試使用 playwright 測試在選項卡之間切換,但它沒有控制 windows 元素。劇作家里面有沒有類似selenium driver.switchto().window()的方法?const { chromium } = require('playwright');(async () => {    const browser = await chromium.launch({ headless: false, args: ['--start-maximized'] });    const context = await browser.newContext({ viewport: null });    context.on("page", async newPage => {        console.log("***newPage***", await newPage.title())    })    const page = await context.newPage()    const navigationPromise = page.waitForNavigation()    // dummy url    await page.goto('https://www.myapp.com/')    await navigationPromise    // User login    await page.waitForSelector('#username-in')    await page.fill('#username-in', 'username')    await page.fill('#password-in', 'password')    await page.click('//button[contains(text(),"Sign In")]')    await navigationPromise    // User lands in application home page and clicks on link in dashboard     // link will open another application in new tab     await page.click('(//span[text()="launch-app-from-dashboard"])[2]')    await navigationPromise    await page.context()    // Waiting for element to appear in new tab and click on ok button    await page.waitForTimeout(6000)    await page.waitForSelector('//bdi[text()="OK"]')    await page.click('//bdi[text()="OK"]')})()
查看完整描述

4 回答

?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗 獲得超8個贊

假設(shè)"launch-app-from-dashboard"正在創(chuàng)建一個新的頁面標(biāo)簽,您可以使用以下模式在新頁面上運行后續(xù)代碼行。


// Get page after a specific action (e.g. clicking a link)

const [newPage] = await Promise.all([

? context.waitForEvent('page'),

? page.click('a[target="_blank"]') // Opens a new tab

])

await newPage.waitForLoadState();

console.log(await newPage.title());

page.bringToFront由于您無頭運行,因此使用(?docs?)切換瀏覽器中的可見選項卡也可能很有用。



查看完整回答
反對 回復(fù) 2023-05-11
?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗 獲得超6個贊

假設(shè)您只創(chuàng)建了一個頁面(通過瀏覽器上下文),但由于某種原因,打開了新頁面/選項卡。您可以通過 : 獲得所有頁面的列表context.pages,現(xiàn)在該列表的每個元素代表一個<class 'playwright.async_api._generated.Page'>對象。所以,現(xiàn)在您可以將每個頁面分配給任何變量并訪問它。(例如。page2 = context.pages[1]



查看完整回答
反對 回復(fù) 2023-05-11
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗 獲得超1個贊

browserContext?.pages() 是一個數(shù)組,其中包含您的應(yīng)用程序打開的選項卡,您可以從那里使用臨時頁面進(jìn)行切換,一旦完成驗證,您就可以切換回來。


playwright.pageMain: Page = await playwright.Context.newPage();

playwright.pageTemp: Page; 


// Save your current page to Temp 

playwright.pageTemp = playwright.pageMain;


// Make the new tab launched your main page

playwright.pageMain = playwright.browserContext?.pages()[1];

expect(await playwright.pageMain.title()).toBe('Tab Title');


查看完整回答
反對 回復(fù) 2023-05-11
?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊

it('Open a new tab and check the title', async function () {

  await page.click(button, { button: "middle" }); //to open an another tab

  await page.waitForTimeout(); // wait for page loading 

  let pages = await context.pages();

  expect(await pages[1].title()).equal('Title'); /to compare the title of the second page

})


查看完整回答
反對 回復(fù) 2023-05-11
  • 4 回答
  • 0 關(guān)注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號