簡體   English   中英

python 中 Css 的設置樣式

[英]Setting Style of Css in python

這是我的代碼(沒有進口和東西):

driver.get('http://democaptcha.com/demo-form-eng/hcaptcha.html')
time.sleep(3)
driver.execute_script("document.getElementsByName('h-captcha-response').style.display='none';")

但這給我帶來了錯誤:

selenium.common.exceptions.JavascriptException:消息:javascript 錯誤:無法設置未定義的屬性“顯示”

當我做:

driver.execute_script("document.getElementById('h-captcha-response-0zu3aawejggj').style.display = 'block';")

它向我顯示了錯誤

selenium.common.exceptions.JavascriptException:消息:javascript 錯誤:無法讀取 null 的屬性“樣式”

(代碼參考)

Selenium(用python)如何修改元素css風格

如何使用 selenium python 更改/刪除樣式屬性?

謝謝!

這是因為它找不到元素。 可能是因為ID在每次頁面加載時都會不斷變化。 另一種選擇可能是

driver.execute_script("document.querySelector(`[id^='h-captcha-response']`).style.display = 'block'");

這意味着它將找到IDh-captcha-response開頭的第一個元素。

嘗試這個:

driver.execute_script("document.getElementsByName('h-captcha-response')[0].style.display = 'block';")

暫無
暫無

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

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