使用Selenium和Python执行浏览器UI操作

时间:2014-02-20 11:56:28

标签: python google-chrome selenium

是否有人知道允许在Google Chrome网络浏览器上执行快捷方式的API(例如CRTL + P - 即打印;或CRTL + T - 这是打开的新标签页。)

这个问题出现,因为Selenium似乎没有这样的能力,因为它的send_keys功能需要网页上的元素,而不是从浏览器对象进行操作。

1 个答案:

答案 0 :(得分:1)

虽然我无法直接回答这个问题,但我想指出Selenium可以使用XPath将页面主体检索为元素。然后,它可以使用send_keys打开“打印”对话框:

element = browser.find_element_by_xpath("//body")
element.send_keys(Keys.CONTROL, 'p')

但是,这似乎只适用于Firefox,并且在使用ChromeDriver时无效。我尝试使用隐式和显式等待,但没有骰子。