我正在尝试textarea使用javascript而不是send_keys()方法设置值。
textarea
如文档所述,我应该能够将webelement作为参数传递给execute_script并通过arguments数组引用此参数。但是,我已经在firefox js控制台中进行了检查,即argumentsObject,而我作为execute_script参数放置的内容并不重要- arguments始终是一个空对象。
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。
以下是相关的错误:Firefox 35:无法将参数传递给executeScript。
今天发布的selenium 2.45中已修复此问题,请 升级selenium软件包 :
pip install --upgrade selenium
旧答案:
我能够使用selenium==2.44.0和重现问题Firefox 35.0:
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解决此问题:
Firefox 34.0.5
>>> element = web.find_element_by_tag_name('textarea') [<selenium.webdriver.remote.webelement.WebElement object at 0x1022d1bd0>]