java - 找到一个独特的定位器 Selenium WebDriver

标签 java css xpath selenium-webdriver

我试图在我的 Facebook 帐户中找到“更新个人资料图片按钮”的唯一定位器,以将其用于自动化测试(selenium webdriver with java)。

我使用 driver.findElement(By.className("_156p")).click();,但它不起作用。

我应该使用什么?!

enter image description here

最佳答案

由于看不到其余的 html 源代码,我不能肯定地说,但我的猜测是该类实际上是在源代码的前面定义的。仅使用类名的问题是类名在页面上不必是唯一的。类名的唯一版本是 id,如果您正在测试可以编辑的代码,请尝试使用大量的 id。

如果不是这种情况,处理您无法自行编辑的代码的一个不错的方法是使用 css 选择器。关于做这些的非常好的信息here .

另一个好的调试选项是使用 javascript 或 python 从终端运行 webdriver。因为这些语言没有经过编译,所以您可以实时运行它们,这可以让您更快地调整类名。如果您没有使用 Python 的经验,请查看 this出去。通过使用 python/javascript,您可以创建网络驱动程序,然后在同一页面上继续输入 driver.find_element_by_whatever("value_to_find")。这比针对每个不同的“value_to_find”从头开始运行 java 程序要快得多。

关于java - 找到一个独特的定位器 Selenium WebDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39173353/

相关文章:

java - 如何在 selenium webdriver 中找到动态元素的 Xpath

java - 沙丁鱼 Webdav : How to create a new file?

java - HQL查询会不会使用Hibernate二级缓存

java - 我可以使用什么从 URL 检索 CSV 文件并使其成为 InputStream?

java - 在一行中提示多个输入

html - 我的标题保持固定,但我的 body 仍在滚动

css - 隐藏复选框 IE8

php - CodeIgniter 中的 CSS 文件问题

python - 使用 XPATH 处理格式错误的 HTML 文件

python - Scrapy排除空格