当我运行这段代码
url = 'https://www.google.com'
driver = webdriver.Firefox()
driver.get(url)
print(driver.get_window_position())'
我收到此错误
selenium.common.exceptions.WebDriverException: Message: GET /session/bbb48fc8-51ba-4cff-b639-771f80489785/window/rect did not match a known command
错误似乎出在get_window_position()
方法中。有想法吗?
答案 0 :(得分:0)
此错误消息...
selenium.common.exceptions.WebDriverException: Message: GET /session/bbb48fc8-51ba-4cff-b639-771f80489785/window/rect did not match a known command
...表示 / session / {session id} / window / rect endpoint 上的 GET 方法,即{{3 }} 失败。
Get Window Rect获取当前窗口的x,y位置。
用法:
driver.get_window_position()
注意:受W3C兼容浏览器支持。
我在 Windows 8 框中使用了自己的代码,如下所示:
from selenium import webdriver
url = 'https://www.google.com'
driver = webdriver.Firefox()
driver.get(url)
print(driver.get_window_position())
但无法重现错误/问题。
但是,在这一点上,值得一提的是,不同的浏览器客户端以不同的方式呈现HTML 。您可以在get_window_position()中找到相关的讨论。
根据您的测试配置 客户端(即 Web浏览器),可以将控件返回给 WebDriver 实例,即在建立/session/{session id}/window/rect
端点之前的'document.readyState'等于“完成” 。
在尝试按以下方式提取 window_position 之前,先诱发 WebDriverWait :
代码块:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = 'https://www.google.com'
driver = webdriver.Firefox()
driver.get(url)
WebDriverWait(driver, 10).until(EC.title_contains("Google"))
print(driver.get_window_position())
控制台输出:
{'x': -8, 'y': -8}