Selenium webdriver 如何点击具有相似文本的链接?
我有一个页面包含100个链接,有相同的文本“结果”。如何逐一点击这些链接?请给我推荐一个selenium webdriver脚本。如果您使用Java:Selenium webdriver 如何点击具有相似文本的链接?,selenium-webdriver,Selenium Webdriver,我有一个页面包含100个链接,有相同的文本“结果”。如何逐一点击这些链接?请给我推荐一个selenium webdriver脚本。如果您使用Java: import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxD
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public void clickLinks(final String url,final String linkText) throws Exception
{
WebDriver webDriver = new FirefoxDriver();
webDriver.get(url);
List<WebElement> links = webDriver.findElements(By.linkText(linkText));
for (WebElement link : links)
link.click();
webDriver.quit();
}
from selenium import webdriver
def clickLinks(url,linkText):
profile = webdriver.FirefoxProfile()
browser = webdriver.Firefox(firefox_profile=profile)
browser.get(url)
links = browser.find_elements_by_link_text(linkText)
for link in links:
link.click()
browser.quit()
更新:
我怀疑你不能在向下滚动页面之前点击链接(正如你在评论中提到的)。也许你找不到链接。。。在任何情况下,如果您想将页面一直向下滚动,那么以下是您的方法:
Java:webDriver.executeScript(“window.scrollTo(0,document.body.scrollHeight);”)
Python:browser.execute_脚本(“window.scrollTo(0,document.body.scrollHeight);”)
您可以用一些数字值替换
document.body.scrollHeight
,以便部分滚动它。谢谢您的文章。巴拉克,我还有一个澄清。现在,我可以单击所有链接-这是第一组链接,但下一组链接将仅在向下滚动页面时显示。你知道怎么解释吗?没问题。如果你喜欢这个答案,为什么要投赞成票呢?关于你的新问题,请看我上面的更新答案。