我有没有类,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