Чтобы перейти по ссылке с текстом Скачать файл в формате csv , вы можете использовать любой из следующих Стратегий поиска :
ОбновлениеA
Я все еще не уверен, почему вы застряли с click()
на ссылке с текстом Загрузить файл в формате csv .Я смог щелкнуть ссылку, просто вызвав официанта для того, чтобы элемент можно было щелкнуть следующим образом:
Пример кода:
package demo;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Q50035477_click_link {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.nseindia.com/products/content/equities/indices/historical_index_data.htm");
driver.findElement(By.cssSelector("input.textboxdata.hasDatepicker#fromDate")).sendKeys("23-04-2018");
driver.findElement(By.cssSelector("input.textboxdata.hasDatepicker#toDate")).sendKeys("25-04-2018");
driver.findElement(By.cssSelector("input.getdata-button")).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.linkText("Download file in csv format"))).click();
}
}
Снимок клиента браузера:
Примечание : click()
метод надежный, мощный и проверенный .Вы должны попытаться использовать метод click()
надлежащим образом и в надлежащем состоянии, чтобы избежать отклонений.Грубые Действия класс и JavascriptExecutor интерфейс имеют свои собственные удобства использования и широко используются.
Обновление B
Кодовый блок для увеличенияданные:
package demo;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Q50035477_click_link {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.nseindia.com/products/content/equities/indices/historical_index_data.htm");
driver.findElement(By.cssSelector("input.textboxdata.hasDatepicker#fromDate")).sendKeys("01-01-2017");
driver.findElement(By.cssSelector("input.textboxdata.hasDatepicker#toDate")).sendKeys("31-12-2017");
driver.findElement(By.cssSelector("input.getdata-button")).click();
WebElement element = driver.findElement(By.linkText("Download file in csv format"));
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", element);
element.click();
}
}
Примечание : снимок браузера остается прежним.