【背景】
selenium中定位元素方法虽多,但实际使用下来最自由、适用程度最广的可能就是xpath方法了,这种方法能够让你同时结合标签tag,属性和方法等多个条件来精确定位没有什么唯一属性的元素。用好xpath,定位就轻松很多。这需要掌握以下几个要点。
【要点】- 一般的结构:
driver.find_element_by_xpath("//input[@type='file']")
其中//开始代表Tag名称,@开始代表该元素的某个属性 - 方法与属性的差别:
driver.find_element_by_xpath("//span[text()='点击上传']")
这里的text()就是方法,此时不用@前缀,()表示是方法,获得的是该元素下内嵌的文本值。 - 判断函数,可以产生更动态和多样的判定条件,比如Contains:
driver.find_element_by_xpath("//textarea[contains(@placeholder,'容我多说几句,让更多的人看到我的资源!')]")
- 符号,Python中,find_element_by_xpath方法的参数为一个字符串,外层双引,内部属性方法等的值是否相等这些判断需要是一个内嵌的字符串,用单引号。是否相等用一个等号,而不同Python自身语法那样用两个等号。