xpath语法:
//*[contains(@href,"Content")] //*[starts-with(@href,"linkByC")] //*[contains(text(),"Content")] //*[text()="linkByContent"]python测试代码:
def test_css2(self): self.driver.get("http://sahitest.com/demo/linkTest.htm") # element = self.driver.find_element_by_xpath('//*[contains(@href,"Content")]') # element = self.driver.find_element_by_xpath('//*[starts-with(@href,"linkByC")]') # element = self.driver.find_element_by_xpath('//*[contains(text(),"Content")]') element = self.driver.find_element_by_xpath('//*[text()="linkByContent"]') element.click() 总结Xpath几乎可以定位到所以Web元素,CSS Selector效率更高,且代码简洁,但有些元素可能无法定位,特别是需要通过子元素来定位的父元素,或者需要通过文本定位的元素。
在实际使用中,按照自己的实际情况来选择即可,CSS Selector理论上执行效率更高,但他们的性能差异不是很大,在几毫秒或者几十毫秒级别。这两种定位方法除了本文介绍的以外,还有更多其它高级语法,可以参考官方文档。
--THE END--文章标题:Web自动化测试:xpath & CSS Selector定位
本文作者:hiyo
本文链接:https://hiyong.gitee.io/posts/selenium-xpath-and-CSS-Selector-locator/
欢迎关注公众号:「测试开发小记」及时接收最新技术文章!