我试图在我的 Facebook 帐户中找到“更新个人资料图片按钮”的唯一定位器,以将其用于自动化测试(selenium webdriver with java)。
我使用 driver.findElement(By.className("_156p")).click();
,但它不起作用。
我应该使用什么?!
最佳答案
由于看不到其余的 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/