其想法是使用指向服务器上保存的图像的链接来“设置”图像上传器的value属性。我的问题是,有没有一种方法可以在webdriver中设置元素的属性?我知道有一种获取价值的方法(get_attribute)。我正在使用Python / Selenium。
输入字段是:
input type="hidden" value="" name="allImages" id="allImages"
,我已经尝试过:
image = wd.find_element_by_id("allImages")
image.value = "http://optimusprime/uploads/b31f8a31-9d4e-49a6-b613-fb902de6a823.jpg"
脚本运行无错误,但未设置属性值。有人可以指出正确的属性设置方法吗? (如果有的话)
#1 楼
在阅读了来自网络驱动程序google组的答复后,我写了一个javascript片段,如下所示:wd.execute_script("document.getElementById('allImages').value = '../uploads/b31f8a31-9d4e-49a6-b613-fb902de6a823.jpg';")
或如Sam在评论中建议的那样:
image = wd.find_element_by_id("allImages")
wd.execute_script("arguments[0].value = 'foo.jpg';", image)
来自网络驱动程序google组的答案:
在这种情况下,建议使用“ execute_script”方法。
不,WebDriver中没有,因为它的目的是模仿用户,而用户
无法直接设置属性。
评论
您可以使用以下代码简化此操作:image = wd.find_element_by_id(“ allImages”)wd.execute_script(arguments [0] .value ='../uploads/b31f8a31-9d4e-49a6-b613-fb902de6a823.jpg';“,图片)
–山姆·伍兹(Sam Woods)
2012年7月3日在22:36
评论
与JS类似:设置输入值而不是sendKeys()-SU上的Selenium Webdriver nodejs