【问题标题】:How to access an element that open in new tab via clicking a link button using python selenium?如何通过使用 python selenium 单击链接按钮来访问在新选项卡中打开的元素?
【发布时间】:2021-02-05 09:08:00
【问题描述】:

网站上有一个按钮。当我通过 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 方法...

【问题讨论】:

标签: python selenium


【解决方案1】:

您需要将驱动程序切换到新选项卡,然后在完成后将其切换回来。

假设您有 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 2022-07-30
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    相关资源
    最近更新 更多