我目前正在使用selenium web驱动程序进行自动化功能测试。我遇到了一个场景,在这个场景中,我需要单击窗口(例如A)上的打印按钮,这将打开一个新窗口(例如B)。使用窗口B也会弹出打印对话框。我需要使用java脚本执行器关闭打印对话框。
我已经试过了。但它并没有起作用。我的代码:
public void handlePrintButtonScenario {
String parentWindow_A = driver.getWindowHandle(); //get the current window A handle
Printbutton().click(); //clicking
a = 123; // becomes global var
var b = 234; // local var
function f() {} // local func
g = function() {} // got a global func
现在,如何打印a和g (以及迄今为止所有其他全局变量),但不打印b和f (以及其他局部变量)。
console.log(this)// is not working.
编辑:建议使用“窗口”变量将只在浏览器中工作,但嵌入式Javascript或Node.js没有“窗口”变量。
我正在维护一个现有的网站,我有一个文件,需要打印。
我做了一些更新以更正文档上的某些内容,但是文档是从另一个窗口打印出来的。我想知道如何确保内部html适合在浏览器窗口和打印在8 1/2 X 11页纸。现在,它会从纸上流出来,当印刷的时候,它会把纸拉得更糟。
内部html只是一个870 in宽的html表,但是即使将宽度缩小到800 in也不会改变它在窗口中的显示方式或打印方式。可打印版本是通过将标签的.text()属性更改为
JS
function printClick() {
var w = window.open();
var html = $("#prn
我正在寻找一种方法来测试我的JavaScript而不使用html。
类似于JS菲德尔或JS Bin,但我希望能够在输出窗口中执行JavaScript,而不必将其放在HTML中
例如
function out()
{
var x = 5;
var y = 10;
z = x * y;
return z;
}
alert(out());
并使输出窗口打印50
谢谢你的帮助
Atra:
我有sendForm.php文件,这是使用PHPMailer发送表单的php。在标签之间有一个echo,我需要在标签之间使用PHP变量。这有没有可能呢?我知道把PHP和JS结合起来太麻烦了,但是我能做什么呢……我需要一个窗口弹出窗口,这就是为什么我用的也是JS。回声本身只打印到网页本身。
$totalSize = ($totalSize/(1024*1024));
$totalSize = round($totalSize,2);
if(!$mail->Send()) {
echo "Error sending form! You are trying to send t
我运行这个函数是为了打开一个新窗口。
function htmlNewWindow(id) {
var html = $(id).html();
var newWindow = window.open('');
newWindow.document.body.innerHTML = '<html><head><title>Hi</title> <script src="js/myScript.js"></script> </head>'
我想打印page.What的DIV内容,我要做的就是使用JS检索div的内容,并将其传递给新窗口obj,我在该窗口上调用.print()。这样显示THe文本内容和图像。就在我将此行添加到检索到的div内容中时
<link href="myprintstyle.css" rel="stylesheet" type="text/css">
打印预览为空。我也尝试添加其他样式表,结果相同。无论我在打印html内容中添加了什么样式表引用,结果都是相同的-blank预览页。下面是打印页面内容的JS代码。
var printDivCSS = ne