[英]Selenium webdriver: How can I click these links?
<a onclick="requestReportGeneration('857f23e1baa767622a91f970963d8918', 'reportDiv31','CSV')" href="javascript:void[0];">CSV</a>
<a onclick="requestReportGeneration('64107e36323e5877c986edc98a17b6e8', 'reportDiv32','CSV')" href="javascript:void[0];">CSV</a>
<a onclick="requestReportGeneration('2cad4d4e5c8855c47a88b6ddf8345735', 'reportDiv33','CSV')" href="javascript:void[0];">CSV</a>
我在頁面上有這三個鏈接,我想依次單擊每個鏈接。 我將頁面上的所有鏈接讀入WebElements列表,然后如果href包含javascript:void [0],則依次瀏覽每個鏈接:然后嘗試單擊它:
for (int i = 0; i < allLinks.size(); i++) {
String reportLink = allLinks.get(i).getAttribute("href");
if (reportLink.contains("javascript:void[0];"))
{
allLinks.get(i).click();
/// Do some more stuff
}
問題是我不斷收到錯誤消息,指出該元素不可見。 我也嘗試過只是加載頁面,而不是讓所有鏈接都在做
driver.findElement(By.xpath("//a[contains(@href,\"javascript:void[0]\")]")).click();
但這也只會給元素帶來不可見的錯誤。 誰能告訴我為什么這不起作用?
嘗試在while循環之前放置一個斷點,調試腳本,然后進入腳本並使用Eclipse的Display選項卡查詢鏈接的內容。 嘗試評估示例語句,例如:
allLinks.size();
allLinks.get(i).isDisplayed();
allLinks.get(i).isEnabled();
鏈接(或網絡驅動程序查看鏈接的方式)肯定有些奇怪,但是像這樣的調試將使您知道鏈接的含義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.