- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个函数,该函数将接收“浏览器实例”(我的意思是 webdriver.Firefox()
),并将打开一个具有特定 URL 的新选项卡。
这是函数:
def open_New_TAB(BrowserInstance, URL):
if URL_Validation(URL):
script = "window.open('" + URL + "')"
BrowserInstance.execute_script(script)
else:
print('Invalid URL')
return
URL_Validation
如果 URL 有效则返回 True
BrowserInstance
是以下函数的返回值,该函数在 get(URL)
完成后仅返回特定浏览器类型的“浏览器实例”:
def Open_Browser (URL=None, browserType='FF', Browser_Wait=20, Hide=False,
Maximize=False, Retries=3):
if browserType == 'FF' or browserType == 'FireFox' or browserType == 'Firefox' or browserType == 'firefox':
# FireFox Parameters
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = False
browser = webdriver.Firefox(firefox_profile = profile, executable_path='G:\\Python\\geckodriver-v0.19.1-win64\\geckodriver.exe')
elif browserType == 'Chrome' or browserType == 'chrome':
# Chrome Parameters
browser = webdriver.Chrome(executable_path="G:\\Python\\chromedriver_win32\\chromedriver.exe")
elif browserType == 'IE' or browserType == 'Ie' or browserType == 'Explorer':
browser = webdriver.Ie(executable_path="G:\\Python\\IEDriverServer_x64_3.8.0\\IEDriverServer.exe")
else:
print('No such browser type')
browser.implicitly_wait(Browser_Wait) # Implicit wait
browser.set_page_load_timeout(20) # Set the Timeout for waiting till the page loads
for attempt in range(Retries):
try:
browser.get(URL)
except TimeoutException:
print("Timeout Expired at the:", attempt+1,'attempt')
# browser.close()
continue
return browser
我期望在运行以下脚本后,open_New_TAB
将在由 Open_Browser
函数打开的同一浏览器窗口中打开一个新选项卡:
browser = Open_Browser('http://10.0.1.76')
open_New_TAB(browser, 'http://10.0.7.131')
但是,不幸的是,结果是为 'http://10.0.7.131'
打开了一个新的浏览器窗口。
我不明白为什么我得到了一个新窗口而不是一个新选项卡,因为当我使用以下脚本时我确实得到了新选项卡。而这个脚本是完全一样的,只是没有这个功能
driver = webdriver.Firefox()
driver.get("https://10.0.1.76")
driver.execute_script("window.open('https://10.0.1.76')")
如果有人能告诉我我做错了什么,我将非常感激。如果您有其他方法来完成打开新选项卡的任务也可以。顺便说一句,我尝试使用: driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
但没有成功(我没有得到新的选项卡,也没有异常)
最佳答案
您将获得一个新窗口,因为您正在请求一个新窗口
您正在使用的 JavaScript 在命令中说明了这一点。 Firefox 中有一个设置可以在选项卡中打开新窗口,但我不确定它是否适用于 Selenium 测试。
它的名称为browser.link.open_newwindow
。值为 2 表示关闭,值为 3 表示打开。您可以尝试通过配置文件设置该值,看看会发生什么。
关于python - 如何打开新的浏览器选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49384229/
给定一个 Option[Future[Option[Int]]] : scala> val x: Option[Future[Option[Int]]] = Some ( Future ( Some
如果我理解正确,EitherT[Option,A,B] 应该与 Option[Either[A,B]] 相同,但编译器不同意.以下代码编译失败: def f[A,B] = implicitly[Eit
我刚开始在使用 parcel.js 构建静态 Assets 时遇到此错误。它在本地工作,但我在 Heroku 上的构建出错,我不确定它是否相关。 最佳答案 得到同样的问题。通过将 core-js 安装
当我生成 Telerik Report 时,只有 Export PDF 可用。即使我将 docx 和 xlsx 的配置设置为 true。这是我在网络配置中的配置。
我的 iTunesConnect 应用程序显示 Apple Pay 选项。我正在使用布伦特里。 即使我们没有在应用程序中使用 Apple Pay 功能。 有人可以帮我解决如何在我的 itunesCon
我正在 Raspbian 中从命令行运行以下查询: mysql -u $NAME -p $PASS Tweets -e "SELECT count(*) FROM raw_tweets;" 它输出以下
我正在尝试使用 ffmpeg(在 linux 下)为视频添加一个小标题。所以,我使用: ffmpeg -i hk.avi -r 30000/1001 -metadata title="SOF" hk_
我正在尝试使用 ffmpeg 使用 ffserver 流式传输视频。您将在 ffserver1.conf 文件下方找到 ffmpeg 命令的日志输出。 其中一个错误引用了预设,每次我尝试使用预设时,我
我正在尝试对 Option 使用 fold 或 map 操作而不是 match。 我有一个选项 val ao: Option[String] = xxxx 和一个函数 f: (String => Fu
Dockerfile documentation表示有可能通过 --platform FROM 中的选项像这样的指令: FROM [--platform=] [AS ] 在我的 dockerfile
我不确定“属性(property)”或“选项”是否是正确的术语,但这是我需要弄清楚的。 鉴于以下情况: ' $.fileup({ url: '/file/upload',
我正在尝试使用 jQuery 检查是否选择了值 = 1 的选择选项,然后将类添加到某些元素。但有些东西不起作用。可以请人看一下代码吗? 我的代码: Reservation
我对 VIM 中的这些感到困惑。有些事情需要设置,而另一些则让。 而且,我如何检查某个选项。我知道这是一个选项,因为我使用 set 来更改它。 例如,如何检查当前文件类型选项是否为 java? 最佳答
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我在看《Professional F# 2.0》一书作者展示如下代码 let a string : option = None if a.IsNone then System.Console.
我习惯使用方法顶部的 java 样板检查输入参数: public static Boolean filesExist(String file1, String file2, String file3
假设我有一串 "Insert Post -title Some PostTitle -category 2 -date-posted 2013-02:02 10:10:10" 我一直在尝试做的是将这个
从 1.3.70 EAP 开始,在 org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions 这是 var useIR: kotlin.Boolean 哪个激活
我无法获取订购捆绑商品的所有子产品及其选项。这可能吗? 最佳答案 以下是您如何找出哪些产品应与所有其他项目一起附加到列表中的捆绑产品中的方法: foreach ($order->getAllItems
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我是一名优秀的程序员,十分优秀!