Java 无法使用selenium单击图像
我有下面的HTML,请帮我写一个java代码来点击“病人”按钮Java 无法使用selenium单击图像,java,selenium,internet-explorer-10,Java,Selenium,Internet Explorer 10,我有下面的HTML,请帮我写一个java代码来点击“病人”按钮 您必须以某种方式识别跨度;可能看起来像这样: WebElement patientButton = driver.findElement(By.xpath("//span/span[child::img[@class='btnRowIcon']]")); 这取决于站点的结构,可能有效,也可能无效。但是,一旦你有了元素,你就可以用耐心按钮单击它。单击()一个比blalasaadri的答案更好的替代方法是使用CSS选择器,而且。。更好
您必须以某种方式识别跨度;可能看起来像这样:
WebElement patientButton = driver.findElement(By.xpath("//span/span[child::img[@class='btnRowIcon']]"));
这取决于站点的结构,可能有效,也可能无效。但是,一旦你有了元素,你就可以用
耐心按钮单击它。单击()
一个比blalasaadri的答案更好的替代方法是使用CSS选择器,而且。。更好
WebElement image = driver.findElement(By.cssSelector("span#addPat img.btnRowIcon"));
// now you can perform what you want to on the image. image.getAttribute("src")...
我同意sircapsalot,您也可以使用..
下面是一个使用显式等待的示例:
WebDriverWait image = new WebDriverWait(driver,60);
image.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("span#id img.btnRowIcon")));
image.click();
上述代码将等待60秒,以便图像可见
- 如果在60之前找到,将单击图像,否则将引发异常
idriver.findelelement(By.cssSelector(“span#id img.btnRowIcon”).getAttribute(“onclick”)
的值,看看这是否是预期的“javascript:AddPatient();”
。此外,如果手动单击,这是否能按预期工作?我使用了以下命令,它起了作用:JavascriptExecutor js;js=(JavascriptExecutor)idriver;executeScript(“javascript:AddPatient();”);
WebDriverWait image = new WebDriverWait(driver,60);
image.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("span#id img.btnRowIcon")));
image.click();