Xpath работает в Chorome, но не в веб-драйвере Selenium - PullRequest
0 голосов
/ 02 мая 2019

Я работаю над веб-сайтом, на котором все остальные локаторы не работают, ожидаем использования FindElements и беру третий элемент. Поэтому мне было любопытно попробовать xpath в первый раз.

Я мог бы получить xpath в chrome, но когда я использую в xpath, он говорит, что элемент не найден.

Я много раз искал, но так и не смог выяснить, в чем дело. Поэтому я попытался на странице facebook и использовал поле входа в качестве попытки, xpath // * [@ id = "email"], он отлично работает в chrome, но тот же результат в webdrive.

Код C #: driver.findElement (By.xpath ("// * [@ id = 'email']"));

Пожалуйста, нажмите на картинку для Facebook и ее местонахождение Любой совет?

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Я сделал еще одну попытку с более понятным кодом:

driver.Url = "";driver.findElement (By.xpath ("// * [@ id = 'email']"));

Теперь это работает, единственное различие между этим и моим кодом раньше: я посещал какой-то другойстраницы до страницы в фейсбуке.Это, кажется, имеет значение.Во всяком случае, приведенный выше код работает.Если я столкнусь с проблемой снова, я опубликую более подробный код.

0 голосов
/ 02 мая 2019

Я могу дать полное решение на Python с учетом возможностей React Native (используется на Facebook)

Но у вас есть C #.Следовательно, можно использовать аналогичную функцию driver.execute_script (выполнение Javascript на Selenium)

</p> <pre><code>driver.get("https://www.facebook.com/") driver.execute_script(' document.getElementById("email").value = "lg@hosct.com"; document.getElementById("u_0_2").click(); ')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...