我正在自动化一个场景,我需要点击搜索引擎中搜索一个词后显示的任何随机网页链接。类似谷歌搜索。
现在问题是所有的网络链接都有类似的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">