点击selnume webdriver java中的元素xlink:href

时间:2015-05-10 14:11:49

标签: java selenium xpath webdriver

我必须点击我网站上的图片,但找不到能帮助我识别图片的内容。

这是网站中的代码:

<image fill-opacity="0" stroke="none" stroke-opacity="0" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" x="166" y="438" width="54" height="44" preserveAspectRatio="none" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://maps.b144.co.il/images_v2/map_route/b1.png " transform="matrix(1.00000000,0.00000000,0.00000000,1.00000000,0.00000000,0.00000000)"></image>

我试着像这样输入herf到xpath:

driver.findElement(By.xpath("//image/[@xlink:href= 'http://maps.b144.co.il/images_v2/map_route/b1.png']" )).click();

但是这不起作用,我会喜欢一些帮助。 感谢

3 个答案:

答案 0 :(得分:1)

我已回复here,您可以尝试使用此css选择器:

driver.findElement(By.cssSelector("image[*|href='http://maps.b144.co.il/images_v2/map_route/b1.png']")).click();

答案 1 :(得分:0)

您可以尝试以下定位器:

driver.findElement(By.cssSelector("image[href='http://maps.b144.co.il/images_v2/map_route/b1.png']")).click(); 

此外,如果这不起作用,您可以粘贴更大的HTML部分,以便我可以为具有ID的某个元素提供另一个相对XPath表达式。

答案 2 :(得分:0)

从你的Html中,我看到你有x和y坐标。

你可以这样使用。

int x = 166;

int y = 438;

然后调用机器人api。

机器人机器人=新机器人();

robot.mousemove(X,Y);

否则你可以尝试使用imagelink。有关更多方法,请参阅以下链接。

http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html