我正在尝试设置textarea
使用 javascript 代替 send_keys() 方法来获取值。
正如文档所述,我应该能够将 webelement 作为参数传递给execute_script,并通过引用此参数arguments
大批。但是,我检查了 firefox js 控制台,发现arguments
是对象,我把什么作为execute_script参数并不重要 -arguments
始终是一个空对象。
>>>> web = webdriver.Firefox()
>>>> web.get("http://somepage.com")
>>>> element = web.find_element_by_tag_name("textarea")
>>>> web.execute_script("return typeof(arguments)", element)
u'object'
>>> web.execute_script("return arguments",element)
[]
有人有类似主题的经验吗?如何将 webElement 作为 javascript 的参数?
使用 Firefox 35.0、selenium 2.44.0。
这是相关的错误:Firefox 35:将参数传递给executeScript 不起作用.
哪个已修复硒2.45今天发布的,升级硒包:
pip install --upgrade selenium
旧答案:
我能够使用重现问题selenium==2.44.0
and Firefox 35.0
:
>>> element = web.find_element_by_tag_name('textarea')
>>> web.execute_script("return arguments",element)
[]
降级至Firefox 34.0.5
解决了问题:
>>> element = web.find_element_by_tag_name('textarea')
[<selenium.webdriver.remote.webelement.WebElement object at 0x1022d1bd0>]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)