![](/img/trans.png)
[英]How can I select the “Sort By” element through Selenium Webdriver Python
[英]How to select an element style with selenium webdriver
我無法讓網站使用 selenium 顯示它的隱藏部分。 我已經嘗試過在 stackoverflow 上找到的舊遮陽篷,但它們似乎不再起作用了。 我還看到開發人員通過請求解決了這個問題,但這不是我所熟悉的。
我正在嘗試使驗證碼令牌元素可見以使網站自動化。 為了制作我的代碼,我正在 google recaptcha 演示網站( https://www.google.com/recaptcha/api2/demo )上進行培訓。
我遇到了麻煩,因為為了顯示這個元素,我需要單擊 HTML 中的一個案例,而我不知道如何使用 selenium 來做到這一點。
我見過有人說為了顯示元素我只需要刪除display: none; HTML 中的字符串,但它不起作用。 我似乎找到的唯一方法是使用谷歌瀏覽器在檢查元素中單擊element.style{案例。
我需要與之交互的網站代碼的 HTML 部分是:
<textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px;height: 40px;border: 1px solid rgb(193, 193, 193);margin: 10px 25px;padding: 0px;resize: none;display: none;"></textarea>
你可以看到顯示:無; 字符串末尾的大小寫
當我單擊該案例時(我放了 2 個屏幕截圖,以便您更清楚),它會在代碼中寫入以下內容:
/* 顯示:無; */
然后不可見的元素出現了,我可以與之交互。
我的問題是,如何讓 selenium 做到這一點? 我確實知道它與 CSS 有關,但由於沒有與顯示相反的內容:沒有我不知道該怎么做。
如果我不夠清楚,請告訴我。
謝謝
您可以使用 javascript 刪除樣式屬性。 您可以告訴 selenium 為您執行 javascript 代碼。
像這樣的東西:
driver.execute_script('document.getElementById("g-recaptcha-response").style.display = null;')
有關在 selenium 中執行 javascript 的更多信息:
https://pythonbasics.org/selenium-execute-javascript/
有關使用 javascript 刪除樣式屬性的更多信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.