[英]How to handle modal or Pop-up Boxes in Selenium Python
我正在使用 selenium python 來測試餐廳 pos 系統。
點擊不同的類別菜單后,會彈出大約3種不同的彈出(模態)窗口,允許自定義選擇項目。不同的類別會彈出不同的彈出(模態)窗口。
類別菜單代碼是:
<div id="iopopsz" style="display: none">
<div style="display:flex">
...code..
</div>
</div>
<div id="comboitemsz" class="copt" style="display: none;">
<div style="display: flex">
...code..
</div>
</div>
<div id="mcoption8sz" class="copt" style="display: none;">
<div style="display: flex">
...code..
</div>
</div>
如您所見,有一個style="display: none;" 在每個類別中,如果未選擇該類別,則樣式值將保持顯示:none ,
選擇類別后,樣式的值將更改為display:block 。
現在我需要先檢查彈出的是哪個彈出(警告)窗口,然后切換到該窗口單擊某個項目。那我該怎么辦?有朋友可以幫忙嗎?
我認為您可以使用get_attribute("style")
來完成您在此處嘗試執行的操作。 據我所知,您實際上並沒有使用真正的警報——警報是一個沒有 HTML 的 Javascript 彈出窗口,只能通過警報類接受或解除。
以下是檢查display: none
和display: block
每個元素中的display: block
字符串的方法:
first_item = driver.find_element_by_id("iopopsz")
style_attr_first_item = first_item.get_attribute("style") # "display: none"
if "display: none;" in style_attr_first_item:
print("First item is not visible.")
希望這能幫助您入門並向您展示如何有效地檢查每個元素的display: none
和display: block
屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.