使用Selenium获取元素

时间:2015-05-04 20:48:12

标签: python selenium selenium-webdriver

是否可以使用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("###")); 提供的相同功能?

1 个答案:

答案 0 :(得分:8)

您必须使用JavaScript:

element = driver.execute_script("""
return document.elementFromPoint(arguments[0], arguments[1]);
""", x, y)

这假定xy设置为整数值。在第一个参数之后传递给execute_script的参数在JavaScript端变为arguments[0], arguments[1]等。 (这只是好的arguments object。Selenium将您在代码中提供给execute_script的JavaScript代码包装起来。)element将是WebElement的实例或{ {1}}如果找不到任何东西。根据{{​​3}},如果符合以下情况,则会发生None值:

  

如果指定的点位于文档的可见边界之外,或者任一坐标为负,则结果为None

JavaScript null在Python中变为null