【问题标题】:How to upload image in selenium webdriver.. element is not visible如何在 selenium webdriver 中上传图像 .. 元素不可见
【发布时间】:2013-12-28 21:33:27
【问题描述】:
ff.findElementByxpath(//object[@ id='slPlugin2']).click();

无法识别元素。

还建议我通过webdriver上传媒体的方式

<table class="imgTable photoTable" cellspacing="0">

<div id="fileUploadControl404" class="fileUpload t-toolbar t-grid-toolbar t-grid-top">

<object id="slPlugin2" width="117" height="32" data="data:application/x-silverlight," type="application/x-silverlight">

<param value="/LMM/ClientBin/FileUpload.xap" name="source">

<param value="Url =https://lmmwipqa.blob.core.windows.net/uploads?se=2013-12-28T07%3A18%3A43Z&sr=c&sp=w&sig=fxuPdwl4huKRISO%2BCPdZIQxh0i5cdnGjWKO8okj2O34%3D, Parent =fileUploadControl404, Caption =Add Photo" name="initParams">
</object>
</div>

【问题讨论】:

    标签: html selenium


    【解决方案1】:
    //object[@ id='slPlugin2']
    

    上述参数应在双引号内,即应将字符串作为参数传递给findElementByXPath()

    要求的语句可以改写如下:

    ff.findElementByXPath("//object[@id='slPlugin2']").click();
    

    关于点击不可见元素,可以使用以下语句: (注意:假设页面上有 jQuery)

    ((JavascriptExecutor)driver).executeScript("$('selector_of_element').click();");
    

    文件上传可以refer this

    【讨论】:

      【解决方案2】:

      我认为,ff.findElementById("slPlugin2") 会以更短的方式找到元素, 但是,无论如何不幸的是,WebDriver 将无法处理这些元素 在 Silverlight 嵌入式应用程序中。

      我建议获取父 div:ff.findElementById("fileUploadControl404")

      .getLocation();获取它的坐标

      使用Java RobotSikuli 以操作嵌入式控件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-20
        • 1970-01-01
        • 1970-01-01
        • 2022-01-23
        • 2015-05-03
        相关资源
        最近更新 更多