javascript – Selenium firefox:空的execute_script参数

我正在尝试使用 javascript而不是send_keys()方法设置textarea值.

正如文档所说,我应该能够将webelement传递给execute_script作为参数,并通过arguments数组引用此参数.但是,我已经在firefox js控制台中检查过,参数是Object,并且我将它作为execute_script参数放置并不重要 – 参数始终是一个空对象.

>>>> 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: Passing arguments to executeScript isn’t working.

这是在今天发布的selenium 2.45修复,升级selenium包:

pip install --upgrade selenium

老答案:

我能够使用selenium == 2.44.0和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>]
相关文章
相关标签/搜索