首页 > 解决方案 > 如果在新标签 selenium 中打开链接,如何进一步处理?

问题描述

我正在使用 Python 开发一个 selenium 项目,我正在自动化从https://www.flipkart.com/订购的在线产品。我搜索了一种产品(在我的情况下是蛋白质补充剂)。现在,当我单击该产品时,详细信息现在在一个新选项卡中打开,其中包含购买选项。但我无权访问该选项卡的 DOM,因为我只使用主页。我附上两张图片和代码,以便您明白我的意思。在此处输入图像描述

这是我的代码,我在其中自动化了点击产品的过程-

def select_product(self):
    
    element = self.find_elements_by_css_selector("div[class='_4ddWXP']")
    self.refresh()
    try :
        element[0].click()
    except StaleElementReferenceException :
        element = self.find_elements_by_css_selector("div[class='_4ddWXP']")
        element[0].click()

请告诉我如何进一步进行。我的主要目标是订购该产品。

标签: pythonselenium

解决方案


您需要切换到new tab才能继续进行。下面code你可以write一旦你click on product将登陆你new tab

all_handles = driver.window_handles
driver.switch_to.window(all_handles[1])

new tab会有不同handle,所以 Selenium 不得不改用new tab.


推荐阅读