Привет, я пытался понять это последние пару дней.Я написал код ниже, который используется для работы, но больше не работает, используя метод ExecuteScript.Единственное, что я изменил, - это обновил мой драйвер Chrome, потому что он не запускал Chrome, так как драйвер не работал с моей более старой версией Chrome.Поэтому, как только я обновил драйвер Chrome, он начал работать, пока мне не пришлось запустить этот кусок кода.Я изменил его ниже, чтобы он не соответствовал фактическому тексту ссылки.
IJavaScriptExecutor js = (IJavaScriptExecutor)WebActions.One;
js.ExecuteScript("alert('Welcome to Guru99');"); // This was added for testing purpose
IWebElement somelink = WebActions.One.FindElement(By.XPath("//span[text()='Some Text']"));
js.ExecuteScript("arguments[0].click();", somelink );
Когда я изменил метод на ExecuteAsyncScript, он снова начал работать.Это то, что изменилось с приложением, или я что-то не так делаю.Я попытался прочитать на ExecuteAsyncScript vs ExecuteScript, чтобы увидеть разницу, но все, что я смог получить, это что-то о обратном вызове, сообщающем, когда он закончен, чего я не испытал в java-скрипте.
Я просто хотел бы понять больше, чем что-либо, или я должен просто начать использовать метод ExecuteAsyncScript.Спасибо