【发布时间】:2020-01-18 10:22:06
【问题描述】:
我正在尝试单击其主要标识符是动态创建的输入按钮。因此,我尝试根据其后的跨度信息单击它。
<span id="DYNAMIC" class="a-button a-button-primary pmts-button-input apx-compact-continue-action pmts-portal-component pmts-portal-components-DYNAMIC primary-action-button">
<span class="a-button-inner">
<input data-pmts-component-id="DYNAMIC" class="a-button-input a-button-text" type="submit" aria-labelledby="DYNAMIC">
<span id="DYNAMIC" class="a-button-text" aria-hidden="true">
<span>Use this payment method</span>
</span>
</span>
我已经输入了动态创建 ID 的词,而不是输入值。以下是我认为是我尝试过的许多事情的最佳版本,但我仍然无法完成任务。
var btnPaymentMethod = driver.FindElement(By.XPath("//input[normalize-space(.//span)='Use this payment method']"));
btnPaymentMethod.Click();
【问题讨论】:
-
似乎您的输入包含 2 个子跨度 那么 driver.FindElement(By.XPath("//input[normalize-space(.//span//span)='使用此付款方式'] "));
标签: c# selenium xpath css-selectors webdriverwait