我正在一个所有其他定位器都无法正常工作的网站上,期望使用FindElements并采用第3个元素。所以我很好奇第一次尝试xpath。
我可以在chrome中获得xpath,但是当我在xpath中使用时,它表示找不到元素。
我做了很多搜索,但仍然找不到错误的地方。因此,我尝试在Facebook页面上尝试使用登录字段,xpath为// * [@@ =“ =” email“],它在chrome中完美运行,但在webdrive中效果相同。
C#代码:driver.findElement(By.xpath(“ // * [@ id ='email']”)));
答案 0 :(得分:0)
考虑到React Native(在Facebook上使用)的功能,我可以为Python提供完整的解决方案
但是,您有C#。因此,可以使用类似的功能 driver.execute_script (在Selenium上执行Javascript)
driver.get("https://www.facebook.com/")
driver.execute_script('
document.getElementById("email").value = "lg@hosct.com";
document.getElementById("u_0_2").click();
')
driver.get("https://www.facebook.com/")
driver.execute_script('
document.getElementById("email").value = "lg@hosct.com";
document.getElementById("u_0_2").click();
')
答案 1 :(得分:0)
我尝试了更清晰的代码:
driver.Url =“”; driver.findElement(By.xpath(“ // * [@ id ='email']”)))
现在可以使用,此代码与之前的代码之间唯一的区别是:我在facebook页面之前访问过其他页面。这似乎有所作为。无论如何,上面的代码有效。如果再次遇到此问题,我将发布更多详细代码。