javascript - Selenium +火狐 : empty execute_script arguments

标签 javascript python firefox selenium selenium-webdriver

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

如文档所述,我应该能够将 webelement 作为参数传递给 execute_script,并通过 arguments 数组引用此参数。但是,我已经在 firefox js 控制台中检查过,arguments 是 Object 并且我将什么作为 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: Passing arguments to executeScript isn't working .

已在 selenium 2.45 中修复今天发布,升级selenium包:

pip install --upgrade selenium

旧答案:

我能够使用 selenium==2.44.0Firefox 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>]

关于javascript - Selenium +火狐 : empty execute_script arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031404/

相关文章:

javascript - 如果其他条件在 angularjs 中不起作用

python - 如何将日期数组传递给 pcolor 图?

php - 在 Firefox 中通过 PHP 或 CSS 使用省略号截断长字符串

javascript - 改变嵌入式 Youtube 视频的纵横比

javascript - 是否有一个库函数可以在连接它找到的任何数组的同时合并对象?

python - python中没有十六进制数字10?

python - PyQT5为什么get请求响应总是为null

firefox - 为什么 FireFox 会自动向 Google 的第一个结果发送请求?

PHP Session cookie 随机不安全,无法替换安全 cookie,90% 的 Firefox 用户都受到影响

javascript - 使用 Inert html 创建文件的更好方法