簡體   English   中英

如何通過使用 python selenium 單擊鏈接按鈕訪問在新選項卡中打開的元素?

[英]How to access an element that open in new tab via clicking a link button using python selenium?

網站上有一個按鈕。 當我單擊 click() 方法時,它會在新選項卡中打開。

我嘗試了這種方法來訪問位於第二個選項卡中的元素。

for _ in range(3):
    time.sleep(5)
    driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)

    try:
        content = WebDriverWait(driver, 10).until(
            EC.element_to_be_clickable((By.XPATH, "/html/body/div/p[1]"))).text
        print(content)
    except:
        print("...")

結果是,

...
...
...

我猜,它接受第一個選項卡作為活動選項卡。 如何使用 python selenium 訪問另一個選項卡中的元素。 我搜索了一些解決方案,他們說的幾乎是一樣的東西,那就是使用與我相同的 CTRL+TAB 方法......

您需要將驅動程序切換到新選項卡,然后在完成后將其切換回來。

假設您有 2 個標簽:

# you already opened new tab
tab1 = driver.window_handles[0]
tab2 = driver.window_handles[1]

driver.switch_to.window(tab2) # switch to new tab

# do your stuff here

driver.close() # close new tab

driver.switch_to.window(tab1) # switch to original tab

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM