Tag: selenium

需要使用selenium从多个网页捕捉数据

网页: http : //www.forbes.com/companies/icbc/ package selenium; import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.By.ByTagName; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class ForbesTest { WebDriver driver; String url; @Before public void setUp() throws Exception { System.setProperty("webdriver.ie.driver","D:\\IEDriverServer_x64_2.53.1\\IEDriverServer.exe"); driver=new InternetExplorerDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); url="http://www.forbes.com/companies/icbc/"; driver.get(url); } @After public […]

Powershell + Export-Excel模块

我使用Powershell的Export-Excel模块。 我尝试从表中的2个链接获得“foreach”的结果。 但最后我只有一个链接在表中(只有第二个)。 “Out-File”具有“= Append”,附加到一个文件。 也许有这样的“Export-Excel”的东西? [Reflection.Assembly]::LoadFrom("C:\selenium\net40\WebDriver.dll") $url = Get-Content D:\dww.txt $ie = New-Object OpenQA.Selenium.PhantomJS.PhantomJSDriver foreach ($u in $url) { $ie.Navigate().GoToUrl($u) $title = $ie.FindElementByXPath("//h1[contains(@class, 'fullstory')]") $fullstory = $ie.FindElementByClassName("comment") $tracklist = $ie.FindElementByXPath("//*[contains(@id,'news-id')]") $links = $ie.FindElementByXPath("//*[contains(@class, 'link')]") $img = $ie.FindElementsByclassname("stars").findelementbytagname("img").getattribute("src") $h = Write-Output Стиль,Формат,"Год выпуска",Размер,"Название альбома",Исполнитель,Треклист,Ссылка,Обложка $data = ($fullstory.text).split("`n") -replace ": ","=" | Where {$_.Trim()} | Out-String […]

如何从Excel表格中使用selenium提取双int值

以下是我用于从Excel表中提取任何值的代码。 单元格的值可以是string,date或长整型。 使用下面的代码,我能够正确提取string和date,但长整型值是进来作为4.6861230317E10而不是46861230317.如何克服这个问题? Cell = ExcelWSheet.getRow(RowNum).getCell(ColNum); if(Cell.getCellTypeEnum() == CellType.STRING) { System.out.println("check for celltype string"); CellData = Cell.getStringCellValue(); System.out.println("String CellData:"+CellData); } else if(Cell.getCellTypeEnum() == CellType.NUMERIC) { System.out.println("checking for celltype numeric"); CellData = fmt.formatCellValue(Cell); if(CellData.contains("/")) { System.out.println("its a date !"+CellData); } else if(!CellData.contains("/")) { double CellData2 = (double)Cell.getNumericCellValue(); System.out.println("actual double value "+CellData2); CellData=String.valueOf(CellData2); System.out.println("its a double int […]

Selenium中的数据提供者与TestNG不匹配

我正在下面的代码写在selenium和下面的错误显示,请让我知道问题在哪里。 import org.testng.annotations.DataProvider; import org.testng.annotations.Test; public class testngexcel { public static ExcelReader excel = null; @Test(dataProvider = "newdata") public void testData(String username, String password, Integer age) { System.out.println(username + " – " + password + " – " + age); } @DataProvider(name = "newdata") public static Object[][] getData() { if (excel == null) { excel […]

从实例化方法之外closures/部署Syncfusion XlsIO实例

我正在尝试做的是将文件位置和工作表名称传递给Syncfusion的XLSIO实例,并从中读取信息以驱动C#中的Selenium脚本。 我做了那个工作 当我试图将其分解成外部类时遇到了一个问题,所以我可以为Selenium脚本的不同部分调用不同的工作表。 使用当前的代码,我最终在var range = worksheet.UsedRange;的空对象var range = worksheet.UsedRange; 因为在表单对象成功传递时,底层对象(excelEngine和工作簿)已经从ExcelDataReader方法中抛弃了。 如果我删除closures和处置,它都运行并按预期login。 但是,我仍然需要清理,因为将Excel的实例和电子表格打开导致其他问题,当我需要以后使用它。 如果我在创build列表后尝试closures/处理,则对象不是该方法的一部分,并且找不到它们以closures/处置它们。 那么,即使我已经处理了引擎,或者在离开该方法后如何处理引擎,我又该如何通过列表创build方法所需的一切呢? 或者,我应该分开不同的方法? 注意:我从列表创build中抛出ExcelDataReader的原因是因为我打算将不同的表单parameter passing给整个自动化项目的驱动程序不同部分。 如果我不能做这个工作,我将不得不放弃ExcelDataReader中的function到每个不同列表的列表创build块。 我可以做到这一点,我知道它的作品,但它只是感觉sl。。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Syncfusion.XlsIO; using System.IO; using System.Data; using System.Runtime.Remoting.Messaging; namespace ConsoleApp7 { public class Login { public string Usr { get; set; } public string Pwd […]

Python – TypeError:types'Cell'的对象没有len()

我正在用Python处理Selenium。 我正在写一个代码,将从Excel文件中获取数据,并在WebPortal上打出相同的数据。 但我得到的错误: TypeError: object of type 'Cell' has no len() 以下是代码: for X in range(1,rowCount): for Y in range(0,colCount): cellData = worksheet.cell(X,Y) driver.find_element_by_id("XYZ").send_keys(cellData)

Java:将excel值转换为函数名称?

我创build了一个名为“TestCase.xls”的Excel工作表。 我正在从每一行和每列中提取值。 第一列包含函数名称,第二列包含该函数的参数。 当我从我的Excel表中获取数据,我得到的值作为string。 如何将这些string转换为函数名称,以便我的java代码可以在这些函数上工作。 例如:Testcase.xls | enterSearchText |自行车|

从webtable中获取值,并在循环中逐行写入excel表格

1)我正在尝试从应用程序的webtable读取值,并将其写入Excel表格中。 2)Web表格的每一行有4个值需要写入Excel表格,但是我忽略了使用下面的代码的每行中的一些图像。 text.length()>2 。 3)webtable中会有200-300行需要读取并写入excel表格。 这是我试过的代码。 但是我不知道如何将它写入Excel表格的每一行。 请在这方面帮助我。 //get the table WebElement statusTable = browser.findElement(By.id("projectstatus")); //Get all the rows in the table List<WebElement> allRows = statusTable.findElements(By.tagName("tr")); //Get the size(row no) of allRows int rowSize = allRows.size(); System.out.println(rowSize); for (WebElement row : allRows) { //Get all cell values in each row List<WebElement> allCells = row.findElements(By.tagName("td")); //System.out.println(allCells.size()); […]

Web元素在FOR LOOP中未在selenium中检测到

我试图从特定的Web元素获取一些信息。 问题是,当我试图获取没有for循环的信息程序就像一个魅力。 但是,当我把它放在一个for循环,并尝试它没有检测到循环中的Web元素。 这是我一直在尝试的代码: from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys import time from lxml import html import requests import xlwt browser = webdriver.Firefox() # Get local session of firefox # 0 wait until the pages are loaded browser.implicitly_wait(3) # 3 secs should be enough. if not, increase it browser.get("http://ae.bizdirlib.com/taxonomy/term/1493") […]

用testNG读取selenium中的excel数据

我是selenium新手,仍在学习。 我正在尝试用两个testing在TestNG中编写一个程序,以便从Excel中读取数据,并使用Apache POI编写。 我在同一个文件夹中有一个XLS和一个XLSX文件,并试图使用这两个文件。 我期待在testng.xml中configurationexcels的path和名称。 当我执行我的第一个testing来读取数据时,表名正在被读为xml。 以下是我的testng.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" parallel="tests" thread-count="2"> <parameter name="filePath" value="C:\\Technologies\\Selenium\\WebDriver\\DataFiles\\ExcelFiles"></parameter> <test name="Xlsx"> <parameter name="fileName" value="12142015_sx.xlsx"></parameter> <parameter name="sheetName" value="xlsx_1"></parameter> <classes> <class name="handlefiles.handleExcel"/> </classes> </test> <test name="Xls"> <parameter name="fileName" value="12142015_s.xls"></parameter> <parameter name="sheetName" value="xls_1"></parameter> <classes> <class name="handlefiles.handleExcel"/> </classes> </test> <!– Test –> </suite> <!– Suite –> 下面是java类代码。 […]