我刚开始玩硒,我正在寻找一些帮助。在我试图测试的网页上,我有一个搜索按钮,当页面加载时,我有一个html表,显示在它下面的结果。
搜索结果表的html如下所示...
<table id="search-results-table" style="width: 1561px;">
<thead>
<tr role="row" style="height: 0px;">
<th><div>Item Description</div></th>
<th><div>Size</div></th>
<th><div>Colour</div></th>
<th><div>Supply Style</div></th>
<th><div>Item #</div></th>
</tr>
</thead>
<tbody>
<tr role="row" class="odd">
<td class="left sorting_1 ">EASY STEPS TAC LILYPAD PUMP:GREEN:10</td>
<td class=" center">10</td>
<td class=" center">GREEN</td>
<td class=" center">TAC</td>
<td class=" center"><a href="javascript:setItemNumber(217592380);">217592380</a></td>
</tr>
</tbody>
</table>
使用selenium IDE,我能够创建一个junit测试来执行屏幕快照中的搜索,但我很难找到如何修改单元测试,以便正确地等待搜索完成,然后在页面上返回结果后,单击搜索结果表第一行中的第一项。
public class MySearch {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
//driver = new FirefoxDriver();
File file = new File("C:/selenium/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
driver = new InternetExplorerDriver();
baseUrl = "http://myBaseUrl";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testSearch() throws Exception {
driver.get(baseUrl + "/wps/portal/mySearchUrl");
driver.findElement(By.id("keywords")).clear();
driver.findElement(By.id("keywords")).sendKeys("BLACK SHOES");
driver.findElement(By.id("searchButton")).click();
navigateToDetail();
}
public void navigateToDetail() throws Exception {
//find tbody
WebElement table = driver.findElement(By.id("search-results-table"));
//get all rows
List<WebElement> allRows = table.findElements(By.tagName("tr"));
//iterate through the rows
for (WebElement row : allRows) {
//get the rowCells in each row
List<WebElement> rowCells = row.findElements(By.tagName("td"));
int indexofColumnwhichhasProjectname = 4;
//get the column which contains the item no and get text
String itemNo = rowCells.get(indexofColumnwhichhasProjectname).getText();
System.out.println(itemNo);
}
}
List<WebElement> rowCells = row.findElements(By.tagName("td"));
driver.findElement(By.xpath("//table[@id='search-results-table']/tbody/tr[1]/td[5]/a")).click();
我有一个函数,它打开一个模式,并根据如下条件在对话框中显示错误消息 因此,正如您所看到的,我添加了一个要显示在对话框上的链接,但我如何确定用户何时点击了该链接?然后我希望它调用一个按钮点击 以便最终调用对话框关闭选项 所以基本上,当一个链接被点击时,它会将你重定向到那个页面,并为你关闭对话框。
我正在做一个网络抓取,我可以在一个特定的链接中获取信息,但是我想通过去那个页面上每个项目的链接来自动化这个过程,然后获取信息回到主页,然后点击下面项目的链接。 网址是:https://ca.iherb.com/c/Vitamins?noi=48 我想点击“加州黄金营养、黄金C、维生素C、1000毫克、60粒蔬菜胶囊”项目,然后点击底部的“查看所有评论”。然后返回主页并单击以下项目的链接。 我使用此
我正在为我的Data Structures类编写一个项目,该项目要求我编写一个类来实现INT的链接列表。 为节点使用内部类 包括以下方法 编写一个测试程序,使您能够以任意顺序使用所需的任何数据测试所有方法 我必须创建一个名为“public int deleteFromFront()”的方法。此方法旨在“删除列表前面的节点,并返回其中的int,如果列表为空,则返回null。”下面是我的代码。然而,当
我想在点击后获取页面的页面源。然后使用browser.back()函数返回。但是Selenium不会让页面在点击后完全加载,并且由JavaScript生成的内容不包含在该页面的页面源中。
我有一个动态加载的页面,其中包含一个按钮。我正在尝试等待selenium使用C#绑定点击按钮。我有以下代码: 不过这不管用。click事件永远不会被触发。selenium脚本不会抛出异常警告ID为“addInspectionButton”的元素不存在。它只是不能点击它。如果我加一根线。Sleep(3000)在wait语句和我获得按钮元素句柄的那一行之间。 我没有使用预期条件.元素在这里正确点击吗?
问题内容: 我只是想知道,如何让浏览器在单击链接之前等待?我的目标是从动态网页抓取内容,内容是动态的,但我设法获取表单ID。唯一的问题是,提交按钮仅在2-3秒后显示。但是,我的Firefox驱动程序在页面加载后立即开始单击链接(不是动态部分)。 有什么办法可以让我的浏览器等待2-3秒,直到出现提交按钮?我尝试使用它,但是它暂停了所有操作,提交按钮在显示期间没有出现,但是在2-3秒后显示。 问题答案