GVKun编程网logo

如何使用Selenium Webdriver下载任何文件并将其保存到所需位置(selenium点击下载方法保存)

13

本文的目的是介绍如何使用SeleniumWebdriver下载任何文件并将其保存到所需位置的详细情况,特别关注selenium点击下载方法保存的相关信息。我们将通过专业的研究、有关数据的分析等多种方式

本文的目的是介绍如何使用Selenium Webdriver下载任何文件并将其保存到所需位置的详细情况,特别关注selenium点击下载方法保存的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解如何使用Selenium Webdriver下载任何文件并将其保存到所需位置的机会,同时也不会遗漏关于css – 如何使用Selenium WebDriver,Java按文本选择Web元素、Selenium WebDriver下载安装、selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?、selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接的知识。

本文目录一览:

如何使用Selenium Webdriver下载任何文件并将其保存到所需位置(selenium点击下载方法保存)

如何使用Selenium Webdriver下载任何文件并将其保存到所需位置(selenium点击下载方法保存)

我必须使用下面给出的Selenium Webdriver执行以下任务。

  1. 单击任何开始下载任何文件的链接/按钮(文件类型可以是图像,pdf,jar等)
  2. 单击弹出窗口上的“保存”(如果显示)(例如http://selenium.googlecode.com/files/selenium-server-standalone-2.33.0.jar)
  3. 提供所需的位置以保存该文件。

任何人都可以共享,我们如何使用Java来实现呢?

答案1

小编典典

您将无法访问“保存”对话框。这是由操作系统控制的。您真正唯一能做的就是为浏览器设置默认的下载位置,并允许它自动下载文件。然后用Java检查文件。

您应该从以前的SO问题中检查此答案。基本上,在设置Firefox配置文件时,您会添加一个调用以将属性设置为以逗号分隔的MIME类型列表,以便始终下载:browser.helperApps.neverAsk.saveToDisk

firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");

请参阅关于:配置上的Mozilla
KB常见问题解答文章。

css – 如何使用Selenium WebDriver,Java按文本选择Web元素

css – 如何使用Selenium WebDriver,Java按文本选择Web元素

我需要在网页上找到以下元素
<div>noreply@somedomain.com</div>

我正在使用Java编写Selenium WebDriver.
需要这个元素的确切CSS选择器才能将它与driver.findElement(By.cssSelector(the-selector).click命令一起使用.
div [class =’b-datalist__item__addr’]选择器不够好,因为我必须根据noreply@somedomain.com搜索不是链接的文本,所以我不能使用findElement(By.linkText())命令.

解决方法

Css不允许您进行基于文本的搜索. xpath是唯一的选择.
//div[contains(text(),'noreply@somedomain.com')]

Selenium WebDriver下载安装

Selenium WebDriver下载安装

大家好,又见面了,我是你们的朋友全栈君。

Selenium WebDriver下载 1.确认操作系统版本->win10,64位系统 2.确认要使用的浏览器及版本->谷歌浏览器,91.0.4472.77(正式版本) (64 位) 3.去找webdriver驱动 a.谷歌浏览器驱动下载地址: http://chromedriver.storage.proxy.ustclug.org/index.html 【找与本机谷歌浏览器版本相匹配的驱动版本,最后一位小版本77可不对应,Windows系统选择chromedriver_win32.zip下载即可】

b.火狐浏览器的驱动geckodriver 下载地址: https://github.com/mozilla/geckodriver/releases/ (可能会变) c.IE浏览器的驱动IEdriver 下载地址: http://selenium-release.storage.proxy.ustclug.org/index.html

4.下载对应版本的驱动程序,解压缩后,将.exe文件放在D盘某文件下目录下(如D:\软件\chromedriver_win32\chromedriver.exe) 5.将D:\软件\目录添加到环境变量中 6.创建第一个验证程序start.py 打开百度首页

验证驱动安装完成start.py

from selenium import webdriver

driver_path = r'D:\软件\chromedriver_win32\chromedriver.exe'  # 获得driver路径

driver = webdriver.Chrome(executable_path=driver_path)  # 调起驱动

driver.get('http://www.baidu.com')

运行代码,如果程序自动启动Chrome浏览器并打开百度页面,提示如下代表Selenium WebDriver安装成功:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191682.html原文链接:https://javaforall.cn

selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?

selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?

对于以下元素,如何使用css选择器通过td的值找到它?在这种情况下,它是“独特的文本”

<tdcolspan="3">
   unique text
</td>

解决方法

你可以使用这样的东西,

使用CSS Selector,

By.cssSelector("td[][value='unique text']");

有关使用css选择器的更多信息,请参见See here

selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接

selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接

我有10个不同的页面包含不同的链接.如何点击所有链接?

条件是:
i)我不知道有多少链接
ii)我想计算并点击每个链接

请建议我使用Selenium WebDriver脚本.

解决方法

捕获并导航网页上的所有链接

迭代器和高级for循环可以做类似的工作;但是,循环内页面导航的不一致性可以使用数组概念来解决.

private static String[] links = null;
private static int linksCount = 0;

driver.get("www.xyz.com");
List<WebElement> linksize = driver.findElements(By.tagName("a")); 
linksCount = linksize.size();
System.out.println("Total no of links Available: "+linksCount);
links= new String[linksCount];
System.out.println("List of links Available: ");  
// print all the links from webpage 
for(int i=0;i<linksCount;i++)
{
links[i] = linksize.get(i).getAttribute("href");
System.out.println(all_links_webpage.get(i).getAttribute("href"));
} 
// navigate to each Link on the webpage
for(int i=0;i<linksCount;i++)
{
driver.navigate().to(links[i]);
Thread.sleep(3000);
}

1 |捕获特定帧| class | id下的所有链接并逐个导航

driver.get("www.xyz.com");  
WebElement element = driver.findElement(By.id(Value));
List<WebElement> elements = element.findElements(By.tagName("a"));
int sizeOfAllLinks = elements.size();
System.out.println(sizeOfAllLinks);
for(int i=0; i<sizeOfAllLinks ;i++)
{
System.out.println(elements.get(i).getAttribute("href"));
}   
for (int index=0; index<sizeOfAllLinks; index++ ) {
getElementWithIndex(By.tagName("a"),index).click();
driver.navigate().back();
}

public WebElement getElementWithIndex(By by,int index) {
WebElement element = driver.findElement(By.id(Value));
List<WebElement> elements = element.findElements(By.tagName("a")); 
return elements.get(index);
}

2 |捕获所有链接[替代方法]

Java的

driver.get(baseUrl + "https://www.google.co.in");
List<WebElement> all_links_webpage = driver.findElements(By.tagName("a")); 
System.out.println("Total no of links Available: " + all_links_webpage.size());
int k = all_links_webpage.size();
System.out.println("List of links Available: ");
for(int i=0;i<k;i++)
{
if(all_links_webpage.get(i).getAttribute("href").contains("google"))
{
String link = all_links_webpage.get(i).getAttribute("href");
System.out.println(link);
}   
}

Python

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.google.co.in/")
list_links = driver.find_elements_by_tag_name('a')

for i in list_links:
        print i.get_attribute('href')

driver.quit()

今天关于如何使用Selenium Webdriver下载任何文件并将其保存到所需位置selenium点击下载方法保存的讲解已经结束,谢谢您的阅读,如果想了解更多关于css – 如何使用Selenium WebDriver,Java按文本选择Web元素、Selenium WebDriver下载安装、selenium-webdriver – 如何使用webdriver中的css选择器按值定位元素?、selenium-webdriver – 如何在Selenium WebDriver中单击网页中的所有链接的相关知识,请在本站搜索。

本文标签: