#selenium #selenium-webdriver #automation #ui-automation #browser-automation
#selenium #selenium-веб-драйвер #автоматизация #пользовательский интерфейс-автоматизация #браузер-автоматизация #selenium-webdriver
Вопрос:
Я попытался перейти по ссылке, чтобы начать адаптацию, но не смог.
//string webElement = driver.FindElement(By.XPath("/html/body/div/div/div/a")).GetAttribute("href");
var tes = driver.FindElement(By.XPath(@"/html/body/div/div/div/a")).GetAttribute("href");
var web2 = driver.FindElement(By.XPath(@"//a[contains('saa',@href)"));
var web3 = driver.FindElement(By.XPath(@"//a[text()='saa')]/@href"));
var tes2 = driver.FindElement(By.XPath(@"//a[text()='saa')]/@href")).GetAttribute("href");
Начать адаптацию
Пожалуйста, подскажите мне, где я терплю неудачу и что я могу сделать. Я новичок в селене. Заранее благодарю.
Комментарии:
1. можете ли вы опубликовать свой HTML — код , а также трассировку стека ошибок ?
2. Вам нужно рассказать более подробно, что произошло, когда вы это попробовали? вы также должны опубликовать HTML-код и сообщение об ошибке / исключении.
3. @Adhikari, использование относительного пути для такого тега — очень плохой подход, попробуйте использовать предложенный один раз по порядку с идентификатором, именем, классом, затем относительный путь с некоторым тегом с идентификатором
Ответ №1:
Лучший способ — держаться подальше от xpaths, поскольку они жесткие и работают не во всех браузерах. Приведенное ниже было бы лучше.
var tes2 = driver.FindElement(By.cssSelector("a#idOfElement")).getAttribute("href");
или
var tes2 = driver.FindElement(By.cssSelector("a.classnameOfElement")).getAttribute("href");