如何在该场景下使用Selenium定位按钮的XPath?
你要定位的span标签内文本Zaloguj为波兰语的「登录」,可按以下方案写XPath实现定位:
定位XPath方案
- 若目标可点击元素就是这个span标签本身,直接使用以下XPath:
//span[normalize-space(text())='Zaloguj']normalize-space方法可以自动过滤文本前后的空格、换行符,避免因为页面源码里的空白字符导致匹配失败。 - 若该span是按钮的内部子元素,需要定位上层可点击的按钮元素,可通过祖先节点定位:
//span[normalize-space(text())='Zaloguj']/ancestor::button[1]
如果按钮用的是其他标签(比如a标签),把上述表达式里的button替换为对应标签名即可。
Selenium 调用示例(Python)
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() # 此处省略打开目标页面的逻辑 # 定位登录按钮并点击 login_btn = driver.find_element(By.XPATH, "//span[normalize-space(text())='Zaloguj']/ancestor::button[1]") login_btn.click()
内容的提问来源于stack exchange,提问作者PawelG
相关产品推荐
相关产品推荐

