Webdriver(硒)中的开放站点信息

时间:2018-08-13 17:15:28

标签: python-3.x selenium selenium-webdriver selenium-chromedriver

我要用截图中的URL和站点信息来截图硒中的URL。但是我不确定如何在chromedriver中打开“查看网站信息”菜单。

Need to open this menu

    import pyscreenshot as ImageGrab
        if __name__ == "__main__":
             im=ImageGrab.grab(bbox=(10,10,510,510)) # X1,Y1,X2,Y2
             im.save('g.png')

我编写了这段代码来截取屏幕特定部分的屏幕截图。

1 个答案:

答案 0 :(得分:1)

Selenium不可能实现您想要的,因为Selenium仅与浏览器查看端口有关。但是您可以尝试使用Robot框架来实现您的目标。请看一下documentation


编辑:

因此,一段时间后,我找到了解决您问题的方法,但是..在Java中:

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import java.awt.event.KeyEvent;
import java.awt.*;

public class Test {
  public static void main(String[] args) throws AWTException, InterruptedException {

    WebDriver driver = new ChromeDriver();
    driver.get("http://demo.automationtesting.in/Register.html"); // open web page
    Thread.sleep(3000); // pause to wait until page will be loaded

    Robot robot = new Robot(); // use Robot class

    // press 'Shift + Alt + t'
    robot.keyPress(KeyEvent.VK_SHIFT);
    robot.keyPress(KeyEvent.VK_ALT);
    robot.keyPress(KeyEvent.VK_T);
    robot.keyRelease(KeyEvent.VK_T);
    robot.keyRelease(KeyEvent.VK_ALT);
    robot.keyRelease(KeyEvent.VK_SHIFT);
    Thread.sleep(500);

    // press 2 times 'Tab'
    robot.keyPress(KeyEvent.VK_TAB);
    robot.keyRelease(KeyEvent.VK_TAB);
    Thread.sleep(500);
    robot.keyPress(KeyEvent.VK_TAB);
    robot.keyRelease(KeyEvent.VK_TAB);
    Thread.sleep(500);

    // press 'Enter'
    robot.keyPress(KeyEvent.VK_ENTER);
    robot.keyRelease(KeyEvent.VK_ENTER);
  }
}

输出:

img

我使用了Chrome shortcut keys的快捷方式和一些魔术。它不是Python,但是您也可以在Python中运行Java代码或使用Java。


结论:

如您所见,使用视口外部的元素并不是真正的Selenium。有时可以使用技巧在视口外部检索信息,但Selenium与此无关。