簡體   English   中英

在 selenium 中找到沒有 id 的提交按鈕

[英]find submit button in selenium without id

我有一個按鈕

<input type="submit" class="button button_main" style="margin-left: 1.5rem;" value="something">

我無法通過 ID 或名稱找到它,需要提交表格。

我嘗試這樣做:或者,WebDriver 在每個元素上都有方便的方法“提交”。 如果您在表單中的元素上調用 this,WebDriver 將遍歷 DOM,直到找到封閉的表單,然后調用提交。 如果元素不在表單中,則會引發 NoSuchElementException: element.submit() http://selenium-python.readthedocs.org/navigating.html

但這也找不到提交選擇器。

想法?

這里有很多選擇,僅舉幾例:

如果單獨的類是唯一的,您可以使用

driver.find_element_by_css_selector(".button_main").click()

如果 class + value 組合是唯一的,則可以使用:

driver.find_element_by_css_selector(".button_main[value='something']").click()

您還可以使用 xpath:

driver.find_element_by_xpath("//input[@type='submit' and @value='something']").click()

如果這些都不起作用(即它們不是唯一標識按鈕),請查看按鈕上方的元素(例如<form )並以格式提供 xpath:

driver.find_element_by_xpath("//unique_parent//input[@type="submit" and @value='something']").click()

我推薦 xpath chrome 擴展程序,有了它,您將能夠通過運行擴展程序並按住 Shift 鍵單擊您想要此 chrome 擴展程序的元素來獲取路徑https://chrome.google.com/webstore/detail/xpath-helper/ hgimnogjllphhhkhlmebbmlgjoejdpjl 在此處輸入圖片說明

您可以嘗試使用 XPath 表達式或 CSS 選擇器(如 input[type="button"])查找元素,然后單擊該元素。

暫無
暫無

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

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