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

Python中的Selenium切换和焦点选项卡

丰景同
2023-03-14

打开 Chrome 和新标签页:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

url = 'http://stackoverflow.com/' 

driver = webdriver.Chrome('path_to_chromedriver.exe')
driver.get(url) 
driver.maximize_window()

# open new tab using JavaScript. Focus goes to tab no.2 (new tab)
driver.execute_script("window.open('http://youtube.com/');")

# switch to tab no.1 and go to URL. Focus stays on tab no.2 - how to focus tab no.1?
driver.switch_to.window(driver.window_handles[0])
driver.get('http://google.com/')

< br >在Python 2.7.11中使用Selenium,我在chrome中打开了两个选项卡。我可以访问单个选项卡(转到新的URL),但我无法聚焦于选定的选项卡。例如,当我打开一个新标签页时,它会成为焦点。当我使用< code > driver . switch _ to . window(driver . window _ handles[0])选择第一个选项卡并尝试< code > driver . get(' http://Google . com/')时,它会加载新的URL,但看着我的屏幕,我目前仍然只能看到第二个选项卡。在这种情况下,我希望看到第一个标签(谷歌)< br >

我尝试发送用户输入,但它既不适用于打开新选项卡,也不适用于在选项卡之间切换:

actions = ActionChains(driver)    
actions.send_keys(Keys.LEFT_CONTROL + Keys.TAB)
actions.perform()

或者

driver.find_element_by_tag_name('body').send_keys(Keys.LEFT_CONTROL + Keys.TAB)

共有1个答案

尚宏硕
2023-03-14

我知道它来的有点晚,但它可能对我以后的< br > Selenium 2(它也支持Python 2.7)有用,这对我很有用

main_tab = browser.current_window_handle
something_to_open_your_new_tab()
browser.switch_to_window(main_tab)
 类似资料:
  • 您好,我正在使用selenium单击链接,通常使用在线web应用程序。 当我单击打开新选项卡的特定链接并在新打开的选项卡中执行操作时,我会遇到问题。我有以下代码: 之后,网络驱动程序(从我的眼睛)打开到新标签,而我不必调用 所以一切都好。新标签会在WebDrive上打开。当我尝试单击新打开的选项卡上的链接时,我得到一个“无元素”异常,这意味着它找不到我要找的元素。 两个问题: 1) webdriv

  • 出于自动化的目的,我正在创建一个在表中查找一行的脚本。此行是可单击的,并打开一个新的选项卡/地址。 使用selenium,我现在可以找到表行,单击链接,然后打开新的选项卡。问题是我找不到任何方法将焦点切换到新打开的选项卡。我试图获得所有的windowhandle,看看我是否可以切换,但即使在新标签打开后,只有一个windowhandle。 Arraylist始终包含1个windowHandle,而

  • 将Selenium WebDriver与Java结合使用。我正在尝试自动化一个功能,其中我必须打开一个新的选项卡,在那里做一些操作,并回到以前的选项卡(父)。我用了开关手柄,但它不起作用。还有一件奇怪的事情,两个选项卡有相同的窗口句柄,因此我不能在选项卡之间切换。 然而,当我尝试使用不同的Firefox窗口时,它都能工作,但是对于tab它就不行了。 请帮帮我.我如何切换标签。或者我如何切换选项卡而

  • 另外,我想请求关注textArea,每次用户打开/关闭选项卡,并在选项卡之间切换(使用鼠标和键盘热键)。 这不起作用。我尝试了tab.getContent().requestFocus()-也不起作用。 关于当TabPane child处于焦点时更改选项卡:TabPane似乎得到了KeyEvent,但因为它不在焦点中(textArea处于焦点中),它只是跳过了这个事件。也许我可以通过在TabPan

  • 使用JavaScript 可以从多个方面增强表单字段的易用性。其中,最常见的一种方式就是在用户填写完当前字段时,自动将焦点切换到下一个字段。通常,在自动切换焦点之前,必须知道用户已经输入了既定长度的数据(例如电话号码)。例如,美国的电话号码通常会分为三部分:区号、局号和另外4 位数字。为取得完整的电话号码,很多网页中都会提供下列3 个文本框: <input type="text" name="te

  • 我想从一个选项卡切换到另一个选项卡,需要切换回上一个选项卡。 所以,请给我同样的指导。