CONSULTAR PRODUTO
CANCELAR PRODUTO
< /code>
Чего я пытался достичь: конечно, я не публиковал весь HTML -код, слишком много. Тем не менее, эта кнопка взаимодействует с радиопроизводительной кнопкой на таблице. Учитывая ручный процесс, я бы нажал на радиопроизводительность (чтобы выбрать опцию), а затем нажимать на кнопку с помощью текста «Консультант Produto». Вот код, который я использовал для достижения кнопки. < /P>
driver.FindElement(By.ClassName("accordion-tab-body")); //After clicking on an accordion it expands a table with all the data I need.
var accordionData = driver.FindElement(By.CssSelector("div > spaui-datatable > table > tbody")); //Navigating to the table to get its elements
var rows = accordionData.FindElements(By.CssSelector("tr")); //Each table row. Ignoring table head, not interesting right now
foreach(var currData in rows)
{
var lines = currData.FindElements(By.CssSelector("td"));
foreach(var currTd in lines)
{
if(currTd.Text == "") //If the text is blank, means the first element - which is the radio button icon
{
currTd.Click(); //Radio selected
var consultarProdutoBtn = driver.FindElement(By.CssSelector("div > div > div > button")); //The related button was found (I think).
consultarProdutoBtn.Click(); //Where it crashes.
}
}
}
< /code>
Однако я всегда получаю исключение, говоря, что элемент не используется. Все, что у меня есть, это эта кнопка. Может ли это быть правильным решением? Я также пытался добраться до кнопки, используя его xPath: < /p>
var consultarProdutoButton = driver.FindElement(By.XPath("//button[contains(text(), 'CONSULTAR PRODUTO')]"));
consultarProdutoButton.Click();
Но это тоже не сработало.
Любой ввод оценен, большое спасибо.
< /code> Чего я пытался достичь: конечно, я не публиковал весь HTML -код, слишком много. Тем не менее, эта кнопка взаимодействует с радиопроизводительной кнопкой на таблице. Учитывая ручный процесс, я бы нажал на радиопроизводительность (чтобы выбрать опцию), а затем нажимать на кнопку с помощью текста «Консультант Produto». Вот код, который я использовал для достижения кнопки. < /P> driver.FindElement(By.ClassName("accordion-tab-body")); //After clicking on an accordion it expands a table with all the data I need. var accordionData = driver.FindElement(By.CssSelector("div > spaui-datatable > table > tbody")); //Navigating to the table to get its elements var rows = accordionData.FindElements(By.CssSelector("tr")); //Each table row. Ignoring table head, not interesting right now
foreach(var currData in rows) { var lines = currData.FindElements(By.CssSelector("td")); foreach(var currTd in lines) { if(currTd.Text == "") //If the text is blank, means the first element - which is the radio button icon { currTd.Click(); //Radio selected var consultarProdutoBtn = driver.FindElement(By.CssSelector("div > div > div > button")); //The related button was found (I think). consultarProdutoBtn.Click(); //Where it crashes.
} } } < /code> Однако я всегда получаю исключение, говоря, что элемент не используется. Все, что у меня есть, это эта кнопка. Может ли это быть правильным решением? Я также пытался добраться до кнопки, используя его xPath: < /p> var consultarProdutoButton = driver.FindElement(By.XPath("//button[contains(text(), 'CONSULTAR PRODUTO')]")); consultarProdutoButton.Click(); [/code] Но это тоже не сработало. Любой ввод оценен, большое спасибо.