元素的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']
广告