簡體   English   中英

如何使用 Selenium WebDriver 讀取 ::after 單選按鈕元素的屬性

[英]How to read ::after attributes of a radio button element using Selenium WebDriver

我一直在嘗試使用 selenium webdriver (Java) 讀取具有 ::before 和 ::after 等功能的 html 標簽內的內容,但由於它們是動態的,因此我很難閱讀這些內容。

例如,在下面的 HTML 代碼中,

<label class="radio radio-label-horizontal control-label" for="id_Fruit_1">
  <input value="Banana" name="Fruit" id="id_Fruit_1" data-field-name="Choices" data-field-type="Structured" tabindex="2" type="radio">
  <span class="radio-label">
  ::before
  Banana
  ::after
  </span>
</label>

這是一個被選中的單選按鈕的代碼片段,但是當我將單選按鈕切換到另一個選項時,它只是從“span”元素中刪除了 ::after ,並且沒有對“input”元素進行任何更改。

但是當我執行下面的 java selenium 代碼時,我只看到了 'Banana',我期待得到 '::before Banana ::after'

driver.findElement(By.cssSelector(".radio-label")).getText();

你能解釋一下我如何知道我的單選按鈕是否使用硒被選中?

您可以使用 isSelected() 方法來確定單選按鈕是否被選中。

列表 radioBtn = driver.findElements(); 布爾選擇=假; selected=radioBtn.get(0).isSelected() 無論按鈕是否被選中,都將返回真/假。 if(selected) //執行動作

您只能將文本傳遞到您的應用程序中,而不是像以下和祖先這樣的 HTML 標簽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM