Xpath可在Chorome中工作,但不能在Selenium Web驱动程序中工作

时间:2019-05-01 21:47:45

标签: c# selenium-webdriver xpath

我正在一个所有其他定位器都无法正常工作的网站上,期望使用FindElements并采用第3个元素。所以我很好奇第一次尝试xpath。

我可以在chrome中获得xpath,但是当我在xpath中使用时,它表示找不到元素。

我做了很多搜索,但仍然找不到错误的地方。因此,我尝试在Facebook页面上尝试使用登录字段,xpath为// * [@@ =“ =” email“],它在chrome中完美运行,但在webdrive中效果相同。

C#代码:driver.findElement(By.xpath(“ // * [@ id ='email']”)));

Please click for facebook picture and its location 有什么建议吗?

2 个答案:

答案 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页面之前访问过其他页面。这似乎有所作为。无论如何,上面的代码有效。如果再次遇到此问题,我将发布更多详细代码。