Как автоматизировать YouTube с помощью веб-драйвера Selen? - PullRequest
0 голосов
/ 15 мая 2018

Я только что попытался автоматизировать «загрузку видео с YouTube» с помощью веб-драйвера selenium.Но это не работает.Здесь я просто открываю видео на YouTube и копирую его URL.А затем я вставляю этот URL во вкладку «SaveItOffline» на другой странице и нажимаю «Скачать».Но URL не копируется.Вот мой код,

    import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;`enter code here`
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.Keys;
public class Download {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    System.setProperty("webdriver.chrome.driver","C:/Users/vairavan/Desktop/SELENIUM/chrome driver/chromedriver.exe");
    WebDriver driver=new ChromeDriver();
    driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
    driver.get("http://www.youtube.com");
    driver.findElement(By.id("search")).click();
    driver.findElement(By.id("search")).sendKeys("short flute cover");
    driver.findElement(By.id("search")).sendKeys(Keys.ENTER);
    driver.findElement(By.id("dismissable")).click();
    Actions action=new Actions(driver);
    action.contextClick(driver.findElement(By.xpath("/html/body/ytd-app/div[1]/ytd-page-manager/ytd-watch/div[2]/div[1]/div[1]/ytd-player/div/div[1]/video"))).perform();
    driver.findElement(By.xpath("/html/body/div[6]/div/div/div[1]/div[1]")).click();
    driver.get("htttp://www.saveitoffline.com/");
    driver.findElement(By.id("url-input")).sendKeys(Keys.CONTROL+"v");
    driver.findElement(By.id("submit-url")).click();
    driver.findElement(By.xpath("/html/body/section/div[3]/div/div[1]/div[2]/div")).click();
    driver.findElement(By.id("download-href")).click();

    }



}

1 Ответ

0 голосов
/ 15 мая 2018

Пожалуйста, используйте буфер обмена, чтобы вставить URL, он работает для меня:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Clipboard clipboard = toolkit.getSystemClipboard();
String data = (String) clipboard.getData(DataFlavor.stringFlavor);
webDriver.findElement(By.id("url-input")).sendKeys(data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...