一尘不染

Selenium + firefox:空的execute_script参数

selenium

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

如文档所述,我应该能够将webelement作为参数传递给execute_script并通过arguments数组引用此参数。但是,我已经在firefox
js控制台中进行了检查,即argumentsObject,而我作为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,selenium2.44.0。


阅读 320

收藏
2020-06-26

共1个答案

一尘不染

以下是相关的错误:Firefox
35:无法将参数传递给executeScript

今天发布的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>]
2020-06-26