我正在嘗試使用 selenium 單擊“創建新網路”。
<button type="button" id="dt-refreshBtn" class="btn wc-btn--link" data-label="Create New Network" role="link"><span class="icon-button" data-testid="dnxButton-iconButtonContainer" data-awt="networkListing-button-createNew"><i class="dnac-icon-add-circle" data-testid="dnxButton-icon" title="Create New Network"></i><span class="dnx-btn-icon-label" data-testid="dnxButton-iconLabel">Create New Network</span></span></button>
<span class="icon-button" data-testid="dnxButton-iconButtonContainer" data-awt="networkListing-button-createNew"><i class="dnac-icon-add-circle" data-testid="dnxButton-icon" title="Create New Network"></i><span class="dnx-btn-icon-label" data-testid="dnxButton-iconLabel">Create New Network</span></span>
<i class="dnac-icon-add-circle" data-testid="dnxButton-icon" title="Create New Network"></i>
<span class="dnx-btn-icon-label" data-testid="dnxButton-iconLabel">Create New Network</span>

我嘗試了幾個腳本來找到“創建新網路”按鈕的位置,但由于以下原因而失敗。
- 訊息:沒有這樣的元素:無法找到元素:
- AttributeError:“list”物件沒有屬性“send_keys”
- 'list' 物件沒有屬性 'click'
這是我嘗試過的腳本。
driver.find_element(By.CSS_SELECTOR, "[title='Create New Network']").click()
driver.find_element(By.CSS_SELECTOR, "[data-awt='networkListing-button-createNew']").click()
driver.find_element(By.CSS_SELECTOR, "[id='dt-refreshBtn']").click()
driver.find_element(By.CSS_SELECTOR, "[class='dnx-btn-icon-label']").click()
driver.find_elements(By.XPATH, "//*[@class='dnx-btn-icon-label']").send_keys(Keys.ENTER)
driver.find_elements(By.XPATH, "//button[@class='btn wc-btn--link']")[0].send_keys(Keys.ENTER)
driver.find_elements(By.XPATH, "//*[@id='dt-refreshBtn']").send_keys(Keys.ENTER)
driver.find_element(By.ID, "dt-refreshBtn").send_keys(Keys.ENTER)
driver.find_element(By.CSS_SELECTOR, "[data-testid='dnxButton-icon']").send_keys(Keys.ENTER)
driver.find_element(By.CSS_SELECTOR, "[data-testid='dnxButton-iconLabel']").send_keys(Keys.ENTER)
driver.find_elements(By.CSS_SELECTOR, "[data-awt='networkListing-button-createNew']").click()
driver.find_element(By.CSS_SELECTOR, "[title='Create New Network']").click()
driver.find_elements(By.XPATH, "//*[@id='dt-refreshBtn']").click()
你能幫幫這個嗎?
uj5u.com熱心網友回復:
現在讓我們來看看每個錯誤 .find_elements() 用于多個元素和 .click() | send_keys() 用于單個元素,這就是為什么大多數人會給“串列”物件沒有屬性“點擊”,除非您訪問單個元素。
.send_keys() 通常用于輸入標簽或文本區域,您希望 .click() 用于按鈕標簽。
現在一些有效的 xpath 會像這樣:
driver.find_element(By.XPATH, "//button[@class='btn wc-btn--link']").click()
如果這是唯一具有該類名的按鈕類,那么它將是一個有效的 xpath。
driver.find_element(By.XPATH, "//button[@id='dt-refreshBtn']").click()
如果仍然找不到,請檢查元素是否在 iframe 或陰影根下。
uj5u.com熱心網友回復:
driver.find_element(By.XPATH, "//button[@id='dt-refreshBtn']").click()
應該管用
uj5u.com熱心網友回復:
我只是把我的另一個試驗。
這是完整的 HTML
<div class="dt-tooltop-btn" data-testid="dt-toolBtn-NaN">
<dnx-button icon="dnac-icon-add-circle" name="dt-refreshBtn" label="Create New Network" flavor="link" data-analyticsid="dnx-button[name='dt-refreshBtn']">
<!---->
<!---->
<button type="button" id="dt-refreshBtn" class="btn wc-btn--link" data-label="Create New Network" role="link">
<span class="icon-button" data-testid="dnxButton-iconButtonContainer" data-awt="networkListing-button-createNew">
<i class="dnac-icon-add-circle" data-testid="dnxButton-icon" title="Create New Network"></i>
<span class="dnx-btn-icon-label" data-testid="dnxButton-iconLabel">Create New Network
</span>
</span>
</button>
<!---->
<!---->
</dnx-button>
</div>
和 XPATH
/html/body/div[3]/span/div/div[2]/div/div[2]/div[3]/div[2]/div/div/div/div[1]/div[1]/div[1]/div[2]/dnx-button/button/span/span
我嘗試了其他方法,但沒有作業。
1.driver.find_element(By.XPATH, "//class[@data-awt='networkListing-button-createNew']").click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//class[@data-awt='networkListing-button-createNew']"}
(Session info: chrome=100.0.4896.60)
2.driver.find_element(By.XPATH, "//class[@data-testid='dt-toolBtn-NaN']").click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//class[@data-testid='dt-toolBtn-NaN']"}
(Session info: chrome=100.0.4896.60)
3.driver.find_element(By.XPATH, "//button[@data-label='Create New Network]')".click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@data-label='Create New Network']"}
(Session info: chrome=100.0.4896.60)
4.driver.find_element(By.XPATH, "//class[@data-testid='dnxButton-iconLabel']").click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//class[@data-testid='dnxButton-iconLabel']"}
(Session info: chrome=100.0.4896.60)
你對此有什么想法嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/532183.html
