元素的xpath一直在变化,如何在Selenium中找到这个元素的动态xpath?


我们可以借助xpath函数来查找属性值或文本不断变化的元素的xpath。它们有助于识别具有动态属性值或文本的元素。下面列出了一些这样的函数:

  • text() – 通过页面上可见的文本识别元素。元素“首页”的xpath表达式为 //*[text()='Home']。

  • starts-with – 识别属性值以特定文本开头的元素。此函数通常用于本质上是动态的属性值。

    “首页”的xpath表达式为 //a[starts-with(@title, 'Questions &')].

  • contains - 识别属性值包含实际属性值子文本的元素。此函数通常用于本质上是动态的属性值。

    “首页”的xpath表达式 //a[contains(@title, 'Questions & Answers')].

我们还可以借助具有以下格式的单个或多个属性创建动态xpath:

//tagname[@attribute='value'] – with one attribute
//tagname[@attribute1='value'][@attribute2='value'] – with more than one attributes.

语法

//img[@alt='Tutorialspoint']

语法

//img[@alt='Tutorialspoint'] [@title='Tutorialspoint']

我们还可以借助属性上的OR和AND操作创建动态xpath,其格式如下:

//tagname[@attribute1='value' or @attribute2='value']
//tagname[@attribute1='value' and @attribute2='value']

语法

//img[@alt='Tutorialspoint' or @name='Tutorial']
//img[@alt='Tutorialspoint' and @id='txt']

更新于: 2021年4月6日

2K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告