Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用VisualStudio C放大和缩小selenium Webdriver#_C#_.net_Selenium_Webdriver - Fatal编程技术网

C# 使用VisualStudio C放大和缩小selenium Webdriver#

C# 使用VisualStudio C放大和缩小selenium Webdriver#,c#,.net,selenium,webdriver,C#,.net,Selenium,Webdriver,我想ZoomIn然后ZoomOut使用下面的代码,但它不起作用 public void ZoomIn() { new Actions(driver) .SendKeys(Keys.Control).SendKeys(Keys.Add) .Perform(); } public void ZoomOut() { new Actions(driver) .SendKeys(Keys.Control).SendKeys(Keys.Sub

我想
ZoomIn
然后
ZoomOut
使用下面的代码,但它不起作用

public void ZoomIn()
{
    new Actions(driver)
        .SendKeys(Keys.Control).SendKeys(Keys.Add)
        .Perform();
}

public void ZoomOut()
{
    new Actions(driver)
        .SendKeys(Keys.Control).SendKeys(Keys.Subtract)
        .Perform();
}

还有别的路吗?请引导我。谢谢。

这是一个已知的铬错误:


或者,您可以通过JavaScript设置浏览器的缩放级别:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("document.body.style.zoom='110%'");

例如:

private int ZoomValue = 100;
private int ZoomIncrement = 10;

public void ZoomIn()
{
    ZoomValue += ZoomIncrement;
    Zoom(ZoomValue);
}
public void ZoomOut()
{
    ZoomValue -= ZoomIncrement;
    Zoom(ZoomValue);
}
private void Zoom(int level)
{
    JavascriptExecutor js = (JavascriptExecutor)driver;
    js.executeScript(string.Format("document.body.style.zoom='{0}%'", level));
}

这是一个已知的铬错误:


或者,您可以通过JavaScript设置浏览器的缩放级别:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("document.body.style.zoom='110%'");

例如:

private int ZoomValue = 100;
private int ZoomIncrement = 10;

public void ZoomIn()
{
    ZoomValue += ZoomIncrement;
    Zoom(ZoomValue);
}
public void ZoomOut()
{
    ZoomValue -= ZoomIncrement;
    Zoom(ZoomValue);
}
private void Zoom(int level)
{
    JavascriptExecutor js = (JavascriptExecutor)driver;
    js.executeScript(string.Format("document.body.style.zoom='{0}%'", level));
}

在测试中放大页面的原因是什么?屏幕大小-元素在屏幕上不可见,因此Selenium无法找到元素。不可见?您需要更多的领域知识,了解Selenium的可见性到底意味着什么。所以看起来元素在DOM中存在,但此时不可单击。是的,你可以用JS破解它,但这不是最好的方法-因为如果你关心的话,它不是一个用户流。是的-我的意思是它存在于DOM中,但不可点击-所以我使用pageUp和pageDown使其可点击。-我明白你的意思了-谢谢。在测试中放大页面的原因是什么?屏幕大小-元素在屏幕上不可见,因此Selenium无法找到元素。不可见?您需要更多的领域知识,了解Selenium的可见性到底意味着什么。所以看起来元素在DOM中存在,但此时不可单击。是的,你可以用JS破解它,但这不是最好的方法-因为如果你关心的话,它不是一个用户流。是的-我的意思是它存在于DOM中,但不可点击-所以我使用pageUp和pageDown使其可点击。-我明白你的意思了-谢谢。非常感谢你,布迪-它非常好用。-非常感谢你的帮助。非常感谢布迪-它工作得非常好。-谢谢你的帮助。