Selenium不能与弹出的非新窗口菜单交互



我什么都试过了。我已经无计可施了。我使用Selenium做2次点击,1次点击菜单,填充页面弹出,但每次点击它,它的阶段抛出图层,点击它后面的图层

ac.move_to_element(source).move_by_offset(731, 528).click().perform()

是我现在使用的命令。点击静态图片,然后移动到我需要的位置。

我已经使用了一堆不同的命令,并完成了每一个方法,当我使用元素(元素从服务器馈送,并生成,所以它不一致,这是唯一的方法,让它始终工作),它会关闭菜单。

我知道它点击了它后面的图层,因为有一些高亮的文本如果它是在合适的图层

options = FirefoxOptions()
profile = webdriver.FirefoxProfile("/home/retkid/.mozilla/firefox/ipb9voff.default")
options.add_argument("--headless")
driver = webdriver.Firefox(firefox_profile=profile,options=options)

作为我的司机。

编辑:我应该澄清一下,这不会创建一个新窗口。

在看不到页面的HTML的情况下,您可能需要切换窗口句柄为了进入弹出框的上下文。看看当弹出窗口打开时是否添加了更多的窗口句柄。请看下面的例子,从中获得灵感。

我的建议是在弹出窗口打开之前和之后输出driver.window_handles,看看弹出窗口是否添加了任何额外的窗口上下文。这样你就可以看到你是否需要切换手柄,并继续使用指南的其他部分。

下面的代码可能会工作,以切换到弹出句柄给定你从一个句柄开始,并以2个句柄结束时弹出。

# storing the current window handle to get back to dashbord 
main_page = driver.current_window_handle
# changing the handles to access popup 
for handle in driver.window_handles: 
if handle != main_page: 
popup = handle

最新更新