我有沒有類,ID只是一個文本如何用一個文本點擊一個按鈕?
<button> Click me </button>
我嘗試了以下按鈕:
driver.find_element(:xpath, "//button[contains(text(), 'Click me'")]
driver.find_element(:xpath, "//button(text() = 'Clck me'")
這些工作都不是。有人能把我放在正確的道路上嗎?
我有沒有類,ID只是一個文本如何用一個文本點擊一個按鈕?
<button> Click me </button>
我嘗試了以下按鈕:
driver.find_element(:xpath, "//button[contains(text(), 'Click me'")]
driver.find_element(:xpath, "//button(text() = 'Clck me'")
這些工作都不是。有人能把我放在正確的道路上嗎?
您的xpath中有錯誤。正確的是:
# use button[] instead of button()
# you have weird order of ", ' and)
# space in the text 'Click me' also be considered ' Click me '
driver.find_element(:xpath, "//button[text() = ' Click me ']")
如果它是沒有問題的錯字,嘗試改變之後:
driver.find_element(:xpath, "//button[contains(text(), 'Click me'")]
到
driver.find_element(:xpath, "//button[contains(text(), 'Click me')]")
否則,發現所有的元素與頁面上標記名稱爲「按鈕」,然後遍歷這些元素的列表以獲得所需的元素。
EG碼:
獲取所有的按鈕:
buttons = driver.find_elements(:class=> 'button');
獲取文本按鈕 '點擊我'
clickMeButton = buttons.select{|el| el.text == 'Click Me'}.first
點擊按鈕:
clickMeButton.click
代碼如下語法不正確,你應該嘗試: -
driver.find_element(:xpath, "//button[normalize-space(text())='Click me']")
或
driver.find_element(:xpath, "//button[contains(text(), 'Click me')]")
注意: - 您的按鈕上的文字似乎包含額外的空格。因此,對於避免這些空格,你應該在你的xPath
希望這將有助於您使用normalize-space()
.. :)
你應該加上'id'然後 – Raptor
是否缺少一些報價? – Li357
你使用水豚寶石? – shvetsovdm