考虑我必须在Macbook上进行 Google搜索,我必须浏览搜索结果页,直到找到 eBay 链接。
例如,如果eBay链接位于Google搜索结果页的第3页,那么我的Selenium脚本应该足够聪明,以实现第1页和第1页。 2不要包含eBay链接,在第3页中应该点击eBay链接。
我的伪代码尝试使用driver.findElement(By.LinkText("Ebay.co.uk"))
识别易趣链接,但我不确定如何在搜索结果页面中找到易趣链接。
我所尝试的是以下伪代码:
if (driver.isLinkPresent("Ebay.co.uk")) {
then driver.findElement(By.linkText(Ebay)).click();
Else
Navigate to next Search result page
})(Repeat the loop until the link is found);
有关如何将其转换为代码级别的任何想法?很高兴,如果有人可以提供帮助!
答案 0 :(得分:1)
我将能够告诉你如何,但由于我没有使用selenium和Java,我将无法提供确切的代码。
这是伪代码:
found = false;
while(found == false){
attemptFind = $driver.findElements({xpath: "//h3[contains(text(),'eBay: Electronics')]"}); // Returns an array of headers are found with Ebay.co.uk in
if attemptFind.length() == 0 || attemptFind == null {
currentPage = $driver.findElement({css: "td.cur"}).getText(); // Get Current Page Number
nextPage = (currentPage.toInt() + 1).toString(); // Add 1 to current page
$driver.findElement({css: "a[aria-label='Page "+nextPage+"']"}).click(); // Go to next page
} else {
attemptFind[0].click(); // Click on the Ebay link
found = true; // Break out of loop
}
}