我试图找到一些使用Selenium的网页上的文本的位置。 我可以使用isTextPresent函数来告诉我文本是否出现,但是我想知道它的实际位置。如何使用Selenium查找文本位置?
更广泛的问题是我想单击此文本。 问题是,我似乎无法点击这个文本,我认为这是在页面上嵌入的一些控件。所以,它似乎不被检测为链接或按钮或选项等。但是,我需要点击它来做出选择。
有什么想法?
我试图找到一些使用Selenium的网页上的文本的位置。 我可以使用isTextPresent函数来告诉我文本是否出现,但是我想知道它的实际位置。如何使用Selenium查找文本位置?
更广泛的问题是我想单击此文本。 问题是,我似乎无法点击这个文本,我认为这是在页面上嵌入的一些控件。所以,它似乎不被检测为链接或按钮或选项等。但是,我需要点击它来做出选择。
有什么想法?
Got it! 我不知道如何找到位置的答案, 但更重要的是点击该文本。
我可以只使用XPath定位器在点击的方法,如: -
Click(xpath=//*[text()="hello"])
这将单击具有的“你好”的文本值的元素。 在我的情况下,这是独一无二的,所以这是非常具体的。
您的解决方案xpath=//*[text()='hello']
会点击第一个可点击的元素在源代码中的文字“你好”。如果你想更具体的,你可以添加更多的案件中的XPath这样
xpath=//*[@id='exampleId']//*[text()='hello']
现在,这会点击元素与文本“你好”这后发现id为一些元素“exampleId”。
Xpath是很好的用法,你应该在上面回答。不过,我意识到,有时Selenium不允许你点击某些东西,因为它认为文本被CSS隐藏起来
到目前为止,我没有任何解决方法,而不是点击一个按钮,我完全关闭浏览器窗口。
但在我的情况下,它的CSS隐藏的CSS显示此类应用程序的实际版本号。所以,我只取它的截图:
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
File destination = new File("path/to/outputfiles/versionNumber.png");
FileUtils.copyFile(scrFile, destination);
${x_axis}= Get Horizontal Position xpath=//*[text()="Log files"] Get Horizontal Position returns the position of 'Log files' wrt the left end(X-axis length).
的位置是一个整数值...所以也可以很容易地进行比较。
关闭该问题然后 – 2010-08-26 07:25:04
_______________删除评论并将其发布为答案 – zaplec 2011-08-05 09:13:32