簡體   English   中英

使用Ruby / Watir選中復選框

[英]Checking a checkbox using Ruby/Watir

我正在嘗試每個星期五自動從LinkedIn提取一些數據請求,但是我需要選中特定的復選框以僅請求相關數據。

在瀏覽了文檔和多篇文章之后,我仍然似乎無法解決此問題。

特定的請求頁面位於LinkedIn的隱私頁面下,您可以在其中請求下載所有數據。

這是代碼的復選框行:

browser.checkbox(id: 'file_group_INVITATIONS').set(true)

我也嘗試過使用值而不是id將其設置為false。

嘗試設置復選框將出現錯誤:

Selenium :: WebDriver :: Error :: UnknownError:未知錯誤:元素<input type =“ checkbox” name =“ requestedFiles []” id =“ file_group_INVITATIONS” value =“ INVITATIONS”>在點(420,481)不可單擊。 其他元素將獲得點擊:<label for =“ file_group_INVITATIONS”> ... </ label>

LinkedIn希望對復選框進行樣式設置,因此他們實際上將標簽放置在實際復選框元素的頂部。 作為用戶,當您單擊“復選框”時,實際上是在單擊標簽元素。 這是錯誤消息在談到另一個元素獲得點擊時所指的含義。

您可以在Watir中執行相同的操作。 標簽與復選框正確關聯,您可以簡單地執行以下操作:

browser.checkbox(id: 'file_group_INVITATIONS').label.click

或更直接地:

browser.label(:for => 'file_group_INVITATIONS').click

暫無
暫無

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

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