当前位置: 首页 > 知识库问答 >
问题:

Python - 如何在硒中的选项卡之间切换 [重复]

贺海
2023-03-14

我是python和selenium的新手,我正在尝试在选项卡之间切换,我已经尝试使用普通的键盘命令,ActionChains和Keys.CONTROL,但它不起作用,我将如何做到这一点。程序如下

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import webbrowser
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import multiprocessing


driver1  = webdriver.Chrome(executable_path="C:\mydriver\chromedriver")
  
ar = ['https://google.com', 'https://bing.com']
for page1 in (ar):
    driver1.execute_script(f"window.open ('{page1}')")
    time.sleep(3)

for x in range (5):
    driver1.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)

共有1个答案

牧璞
2023-03-14

看看这个指南:https://www.browserstack.com/guide/how-to-switch-tabs-in-selenium-python

但这是关键部分:

#get current window handle
p = driver.current_window_handle

#get first child window
chwd = driver.window_handles

for w in chwd:
#switch focus to child window
    if(w!=p):
    driver.switch_to.window(w)
break
time.sleep(0.9)
print("Child window title: " + driver.title)
 类似资料:
  • 我想从一个选项卡切换到另一个选项卡,需要切换回上一个选项卡。 所以,请给我同样的指导。

  • 问题内容: 我需要编写一些代码以在iOS应用启动时将视图切换到另一个选项卡(例如,默认情况下显示第二个选项卡,而不是第一个)。 我是Swift的新手,并已完成以下工作: 该代码可能应该放在第一个选项卡的ViewController的重写func viewDidLoad()函数中。 以下代码显示了第二个ViewController,但没有在底部显示标签栏(vcOptions是第二个ViewContr

  • 我正在尝试使用Jcombobox“费用”在卡片面板之间进行更改。有人能告诉我我做错了什么吗?我使面板正确地出现,但当我看到费用j选项卡式窗格时,第一张卡就显示出来了。一旦我试图在它们之间切换,控制台就会充满错误。我注意到所有的卡片都在同时显示,但它们是重叠的。1)如何一次只显示一张牌(面板)?2)如何让JComboBox在牌(面板)之间切换?

  • 问题内容: 我们开发了一个Chrome扩展程序,我想用Selenium测试我们的扩展程序。我创建了一个测试,但是问题是我们的扩展程序在安装后会打开一个新选项卡,我认为我从另一个选项卡中得到了例外。是否可以切换到我正在测试的活动标签?另一个选择是先禁用扩展名,然后登录到我们的网站,然后再启用该扩展名。可能吗?这是我的代码: 测试失败,原因是,因为在新选项卡(由扩展名打开)中,“登录”不可见(我认为仅

  • 我注意到一个有趣的行为:当导航模式设置为时,如果我将手机置于横向模式,它会将选项卡转换为列表,并保留片断和列表项(以前是选项卡项)之间的关联,如何根据需要而不是根据方向变化实现此结果?

  • 打开 Chrome 和新标签页: < br >在Python 2.7.11中使用Selenium,我在chrome中打开了两个选项卡。我可以访问单个选项卡(转到新的URL),但我无法聚焦于选定的选项卡。例如,当我打开一个新标签页时,它会成为焦点。当我使用< code > driver . switch _ to . window(driver . window _ handles[0])选择第一个