我想点击一个ajax控件来上传网页上的文本文件,但是当我在selenium webdriver中打开它时,没有显示ajax控件。我尝试过以下但是没有用。
WebElement element=driver.findElement(By.id("ctl00_ContentPlaceHolder1_tabContainer_tabPanel2_btnUpload"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("element.click();");
答案 0 :(得分:2)
上面的代码从树中获取一个元素,然后尝试执行JavaScript代码element.click()
。这两者在任何方面都没有关系。具体来说,Selenium(或者更确切地说是Java)不会尝试读取你的想法并将局部变量element
神奇地连接到JavaScript。
您必须使用JavaScript DOM API来定位js.executeScript()
内的元素。