使用Selenium WebDriver和JAVA.我试图自动化一个功能,我必须打开一个新的选项卡在那里做一些操作,然后回到上一个选项卡(父).我使用了开关手柄,但它不起作用.还有一个奇怪的事情是两个标签有相同的窗口句柄,因此我无法在标签之间切换.
但是,当我尝试使用不同的Firefox窗口时,它可以工作,但是对于标签,它不起作用.
请帮我,如何切换标签.或者如何在不使用窗口句柄的情况下切换标签,因为在我的情况下,窗口句柄与两个标签相同.
(我观察到当你在同一个窗口中打开不同的标签时,窗口句柄保持不变)
如何使用Selenium WebDriver打开新标签?
我想在新标签中打开多个链接.这是为了尽快完成构建验证任务.因此,在每个新标签中,可以打开所有与烟雾测试相关的链接,然后在每个对应于烟雾测试要求的标签内,我们可以进行健全性测试.
我在Windows上的Python 2.7中使用Firefox Webdriver来模拟打开(Ctrl+ t)和关闭(Ctrl+ w)一个新选项卡.
这是我的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('https://www.google.com')
main_window = browser.current_window_handle
# open new tab
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
browser.get('https://www.yahoo.com')
# close tab
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'w')
Run Code Online (Sandbox Code Playgroud)
如何在Mac上实现相同的目标?根据这个评论,我应该用browser.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')一个新的标签,但我没有Mac来测试它,等同于Ctrl-w什么?
谢谢!
我正在尝试从我打开到自己的选项卡的列表中自动执行多个表单中的某些设置.在运行脚本之前我可以准备页面的最简单方法是让它们全部打开.我打算让selenium对表单进行更改,然后我希望它能够Ctrl+Tab到下一个表单.我将在设置计数时使用循环.我目前用HTML录制,如果我需要将其调整为java,或者我很乐意这样做.
我试图记录它,但没有去.
因此,基本的内容是,“我对这个东西很陌生”,使用 Facebook 的 PHP Webdriver ( https://github.com/facebook/php-webdriver )调用 Selenium ,但我找不到任何与“如何在 chrome 中打开新选项卡”相匹配的内容。 “使用这种特殊的技术。任何帮助将非常感激。
给你一杯虚拟咖啡,善良的程序员!
有人可以帮我解决以下代码有什么问题吗?我的目的是能够在浏览器中打开一个新选项卡。脚本通过,但并没有真正打开新选项卡
require 'selenium-webdriver'
@browser = Selenium::WebDriver.for :chrome
@browser.navigate.to "http://www.google.com"
body = @browser.find_element(:tag_name => 'body')
body.send_keys(:control, 't')
p "total number of windows"
p @browser.window_handles.length
p "printing window ids"
@browser.window_handles.each do |window|
p window
end
@browser.quit
Run Code Online (Sandbox Code Playgroud) 如何通过 Selenium WebDriver 命令在浏览器的同一窗口会话中打开一个新选项卡?