#c# #selenium
#c# #селен
Вопрос:
Я хочу добиться нажатия кнопки HTML, прочитав ее значение или внутренний текст в C # Selenium, ни один из методов щелчка, похоже, не работает, не знаю почему?
Мне было интересно, возможно ли это, если да, пожалуйста, сообщите, что мой код приведен ниже.
Html ниже
<div class="a-button-stack">
<span class="a-declarative" data-action="dp-pre-atc-declarative" data-dp-pre-atc-declarative="{}" id="atc-declarative">
<span id="submit.add-to-cart-ubb" class="a-button a-spacing-small a-button-primary a-button-icon">
<span class="a-button-inner">
<i class="a-icon a-icon-cart"></i><input id="add-to-cart-button-ubb" name="submit.add-to-cart-ubb" title="Add to Shopping Basket" data-hover="Select <b>__dims__</b> from the left<br> to add to Basket" class="a-button-input" type="submit"
value="Add to Basket" aria-labelledby="submit.add-to-cart-ubb-announce">
<span id="submit.add-to-cart-ubb-announce" class="a-button-text" aria-hidden="true">Add to Basket</span></span></span>
</span>
</div>
Мой код на C # выглядит следующим образом:
driver.FindElement(By.XPath("//button[contains(text(), 'Add to Basket')]")).Click();
driver.FindElement(By.XPath("//button[contains(text(), 'Add to Basket')]")).Click();
driver.FindElement(By.XPath("//*[contains(text(),'Add to Basket')]")).Click();
driver.FindElement(By.XPath("//button[contains(text(), 'Add to Basket')]")).Click();
Ответ №1:
//ввод[@value=’Добавить в корзину’]
Тега button нет, но вы можете получить входной тег по значению атрибута data, например.
Ответ №2:
Вы пытаетесь использовать элемент кнопки, но элемент кнопки не существует.
Кнопка добавить в корзину в HTML-формате:
//input[@id='add-to-cart-button-ubb']