我要用截图中的URL和站点信息来截图硒中的URL。但是我不确定如何在chromedriver中打开“查看网站信息”菜单。
import pyscreenshot as ImageGrab
if __name__ == "__main__":
im=ImageGrab.grab(bbox=(10,10,510,510)) # X1,Y1,X2,Y2
im.save('g.png')
我编写了这段代码来截取屏幕特定部分的屏幕截图。
答案 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);
}
}
输出:
我使用了Chrome shortcut keys的快捷方式和一些魔术。它不是Python,但是您也可以在Python中运行Java代码或使用Java。
结论:
如您所见,使用视口外部的元素并不是真正的Selenium。有时可以使用技巧在视口外部检索信息,但Selenium与此无关。