2017-06-23 7 views
0

Ich möchte ZoomIn und später ZoomOut unter Verwendung von Code, aber es funktioniert nicht.Vergrößern und verkleinern in Selen Webdriver mit VisualStudio C#

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(); 
} 

Gibt es einen anderen Weg - bitte führen Sie mich. Vielen Dank. Diese

+0

Was der Grund, um Ihr pa zu zoomen in Tests? – kyxap

+0

Bildschirmgröße - Elemente sind auf dem Bildschirm nicht sichtbar, so dass Selen das Element nicht finden kann. – Kush

+0

nicht sichtbar? als Sie brauchen mehr Domain-Wissen darüber, was tatsächlich Sichtbarkeit für Selen bedeutete. Es sieht so aus, als wäre das Element in DOM vorhanden, aber zu diesem Zeitpunkt nicht anklickbar. Ja, Sie können es mit JS hacken, aber es ist nicht der beste Weg, es zu tun - weil es kein Benutzerfluss ist, natürlich, wenn Sie sich interessieren. – kyxap

Antwort

2

ist ein bekanntes Chromium bug: https://bugs.chromium.org/p/chromium/issues/detail?id=667387


Alternativ können Sie den Browser des Zoomstufe über JavaScript gesetzt:

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

Beispiel:

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)); 
} 
+0

Vielen Dank Budi - Es funktioniert ganz gut. - Schätzen Sie für Ihre Hilfe. – Kush

Verwandte Themen