我正在使用Selenium2对我的网站进行一些自动化测试,我希望能够获得一些Javascript代码的返回值.如果我foobar()在我的网页上有一个Javascript函数,并且我想调用它并将返回值放入我的Python代码中,我可以调用什么来做到这一点?
我对Selenium来说是全新的.我想在以下代码中执行javascript代码段(如代码中所述),但不能这样做.请帮忙.
from selenium import webdriver
import selenium
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
patch = raw_input("Enter patch number\n")
rel = raw_input("Enter release\n")
plat = raw_input("Enter port\n")
browser = webdriver.Firefox()
browser.get("xxxxxxxxxxxxxxxxx")
pdtfamily = browser.find_element_by_id("prodFamilyID")
pdtfamily.send_keys("Database & Tools" + Keys.TAB)
time.sleep(5)
pdt = browser.find_element_by_id("productID")
pdt.send_keys("Intelligent Agent" + Keys.TAB)
time.sleep(5)
pdt1 = browser.find_element_by_id("patchCacheChkBxID")
pdt1.send_keys(Keys.SPACE)
time.sleep(5)
pdt7 = browser.find_element_by_id("M__Idf")
pdt7.send_keys(plat)
pdt8 = browser.find_element_by_id("M__Idg")
pdt8.send_keys("American English")
# Here I want to execute this javascript - "submitForm('patchCacheAdd',1,{'event':'ok'});return false"
browser.close()
Run Code Online (Sandbox Code Playgroud)
如果我使用 -
selenium.GetEval("submitForm('patchCacheAdd',1,{'event':'ok'});return …Run Code Online (Sandbox Code Playgroud) 我在网页上嵌入了Youtube视频.
使用带有Youtube API的HTML5 iframe,是否可以在用户按下播放时全屏显示视频?
由于该网站适用于iPad,因此无法使用Chromeless播放器.
我有一个隐藏控件的嵌入式YouTube视频:
<iframe id="ytplayer" type="text/html" width="400" height="225"
src="http://www.youtube.com/embed/dMH0bHeiRNg?rel=0&controls=0&showinfo=0
&loop=1&hd=1&modestbranding=1&enablejsapi=1&playerapiid=ytplayer"
frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)
我可以使用youtube Javascript API来控制它.
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('ytplayer', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
Run Code Online (Sandbox Code Playgroud)
像player.playVideo()等等的东西完美地工作.现在我正在寻找一种方法,通过Javascript调用使视频在全屏模式下播放,但我在API中找不到任何方法.
它甚至可能(没有控制),如果是这样 - 如何?