我試圖通過它來定位一個元素,class_name但我得到一個錯誤“沒有這樣的元素”
當我試圖通過XPATH它來定位相同的元素時
為什么它無法通過他的 class_name 找到元素?
這是我嘗試過的 2 個定位器:
1:txt_company_name = (By.CLASS_NAME, 'crm-entity-widget-content-input crm-entity-widget-content-search-input')
2: txt_company_name = (By.XPATH, '//*[@]')
這是 HTML:
<input type="text" placeholder="Company name, phone or email" autocomplete="nope">
uj5u.com熱心網友回復:
原因是CLASS_NAME空格在 Selenium 中不起作用。
基本上,如果你在 HTML 中看到這樣的類名:
crm-entity-widget-content-input crm-entity-widget-content-search-input
它的意思是,它是這個類crm-entity-widget-content-input和crm-entity-widget-content-search-input
所以你要么必須使用以下 CSS_SELECTOR
input.crm-entity-widget-content-input
或者
input.crm-entity-widget-content-search-input
如果它在 HTMLDOM 中是唯一的,甚至下面的也可以作業:
.crm-entity-widget-content-input.crm-entity-widget-content-search-input
基本上,我們用.CSS 來表示一個類,所以你可以洗掉空格并.在開頭加上一個和,這應該可以幫助你找到正確的 CSS。
或您應該足夠的 XPath。但是,CSS 的優先級高于 XPath。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/406766.html
標籤:
