是否可以使用Selenium webdriver运行或获得@if (@X)==(@Y) @end /* JScript comment
@echo off
rem title is needed so the appActivate to be able to recognize the current shell
title ###
rem waiting so we'll have time to switch the windows
ping 192.0.2.1 -n 1 -w 10000 >nul 2>nul
rem the jscript part with the appActivate is called
cscript //E:JScript //nologo "%~f0" %*
rem checking the result
echo are we on top?
pause
exit /b %errorlevel%
@if (@X)==(@Y) @end JScript comment */
var sh=new ActiveXObject("WScript.Shell");
WScript.Echo(sh.AppActivate("###"));
提供的相同功能?
答案 0 :(得分:8)
您必须使用JavaScript:
element = driver.execute_script("""
return document.elementFromPoint(arguments[0], arguments[1]);
""", x, y)
这假定x
和y
设置为整数值。在第一个参数之后传递给execute_script
的参数在JavaScript端变为arguments[0], arguments[1]
等。 (这只是好的arguments
object。Selenium将您在代码中提供给execute_script
的JavaScript代码包装起来。)element
将是WebElement
的实例或{ {1}}如果找不到任何东西。根据{{3}},如果符合以下情况,则会发生None
值:
如果指定的点位于文档的可见边界之外,或者任一坐标为负,则结果为
None
。
JavaScript null
在Python中变为null
。