url的Xpath值有2个间歇性更改元素

时间:2017-03-03 12:09:27

标签: java selenium selenium-webdriver automation

我正在自动化一个场景,我需要点击搜索引擎中搜索一个词后显示的任何随机网页链接。类似谷歌搜索。

现在问题是所有的网络链接都有类似的XPath模式,其中只有2个html标签会间歇性地更改。

已将XPath序列放在我的代码下面以供参考。

第4个最后一个div元素保持上升1,我用随机数生成器处理但是我没有办法处理最后一个标记a因为它间歇性地改变为' a'或者[1]。

下面是我用来处理这个场景的代码,它使最后一个标签的bcz失败了。

for (int iterate=1; iterate<20;)
{
    Random randomNum= new Random();  
    int i = randomNum.nextInt(9) + 1; 
    System.out.println("Random Number generated for iteration " + iterate+ " is: "+i);
    WebElement link2=driver.findElement(By.xpath("//*[@id='types']/div[2]/section[2]/section[2]/div[2]/div["+i+"]/div[1]/div/a"));
    System.out.println(link2.getText());
    link2.click();
}

//*[@id='types']/div[2]/section[2]/section[2]/div[2]/div[1]/div[1]/div/a
//*[@id='types']/div[2]/section[2]/section[2]/div[2]/div[2]/div[1]/div/a[1]
//*[@id='types']/div[2]/section[2]/section[2]/div[2]/div[3]/div[1]/div/a[1]
//*[@id='types']/div[2]/section[2]/section[2]/div[2]/div[4]/div[1]/div/a
//*[@id='types']/div[2]/section[2]/section[2]/div[2]/div[5]/div[1]/div/a[1]

HTML

<main id="types" class="container_12">
    <noscript><div class="error">Website is available.</div></noscript>
    <div class="row layout_3_6_3">
        <section class="grid_3 column ui-sortable-disabled">
        <section class="grid_6 column ui-sortable-disabled">
        <section id="query_debugging" class="widget 
        <section class="widget class">
        <header id="search_results_header" class="query flex space_betwee>
            <div id="search_sorts">
            <div class="widget_inside">
            <div class="result" data-index="0"
            <div class="title"
            <div class="entity-link 
       <a role="menuitem" href="/search/terms1">

0 个答案:

没有答案