selenium调用js文件_Selenium Webdriver:execute_脚本无法执行自定义方法和外部javascript文件...

我正在使用Selenium和Python,我尝试做两件事:导入外部javascript文件并执行其中定义的方法

在字符串上定义方法并在计算后调用它们

这是第一种情况的输出:

测试.jsfunction hello(){

document.body.innerHTML = "testing";

}

Python代码>>> from selenium import webdriver

>>> f = webdriver.Firefox()

>>> f.execute_script("var s=document.createElement('script');\

... s.src='file://C:/test.js';\

... s.type = 'text/javascript';\

... document.head.appendChild(s)")

>>> f.execute_script("hello")

Traceback (most recent call last):

File "", line 1, in

File "C:\Python27\lib\site-packages\selenium-2.41.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 394, in execute_script

{'script': script, 'args':converted_args})['value']

File "C:\Python27\lib\site-packages\selenium-2.41.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 166, in execute

self.error_handler.check_response(response)

File "C:\Python27\lib\site-packages\selenium-2.41.0-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 164, in check_response

raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: u'hello is not defined' ; Stacktrace:

at anonymous (about:blank:68)

at handleEvaluateEvent (about:blank:68)

对于第二种情况:>>> js = "function blah(){document.body.innerHTML='testing';}"

>>> f.execute_script(js)

>>> f.execute_script("blah")

...

raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: u'blah is not defined' ; Stacktrace:


版权声明:本文为weixin_30466329原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。