如何在Selenium中定位该元素?无ID/NAME且不擅长使用XPath
问题描述

我找不到这个元素的ID或NAME属性,不知道怎么用Selenium定位它,尝试过找name和id都没成功,也不太会用xpath。
定位方案(不用复杂Xpath也能搞定)
- 按元素文本定位:如果这个元素有显示的固定文本,用简单的Xpath文本匹配就行,比如元素文本是"提交":
文本不全或者有空格的话,用包含匹配:driver.find_element(By.XPATH, "//*[text()='提交']")driver.find_element(By.XPATH, "//*[contains(text(),'提')]") - 按class属性定位:查看元素的class属性,如果有唯一的class值,直接用Class定位:
要是class有多个值,用CSS选择器组合:driver.find_element(By.CLASS_NAME, "btn-submit")driver.find_element(By.CSS_SELECTOR, ".btn.btn-primary") - 按标签+属性组合定位:比如元素是
input标签,有type或value属性,用CSS或者简单Xpath:# CSS选择器 driver.find_element(By.CSS_SELECTOR, "input[type='button']") # 简单Xpath driver.find_element(By.XPATH, "//input[@value='点击']") - 按父元素层级定位:如果这个元素的父元素有可定位的属性(比如ID),可以基于父元素找子元素:
driver.find_element(By.XPATH, "//div[@id='form-container']//button")
内容的提问来源于stack exchange,提问作者Junhyuk Yang
相关产品推荐
相关产品推荐

