簡體   English   中英

Selenium Webdriver-無法單擊按鈕

[英]Selenium Webdriver - unable to click on button

HTML代碼:

<div class="buttonBG">  
<input type="button" onclick="window.location.href='?mod=eA&amp;act=00001';"        class="buttonGreen" value="TK">         
<input type="button" onclick="ttoggle('carianDiv');" class="buttonGreen"   value="CK"> 
</div> 

當我嘗試以下代碼時,以下是我的Java代碼。 我能知道我的Selenium WebDriver代碼出什么問題嗎:

driver.findElement(By.xpath("//input[@class='buttonGreen' and  contains(@onclick, 'window.location.href='?mod=eA&act=00001')]")).click();

嘗試按價值搜索

driver.findElement(By.cssSelector("[value='TK']")).click();

而且出了什么問題,當您在html中搜索它時,您正在搜索?mod=eA&act=00001

?mod=eA&amp;act=00001

編輯

另一種解決方案是插入要列出的按鈕並按索引單擊:

List<WebElement> buttons = driver.findElements(By.className("buttonGreen"));
buttons.get(0).click();

您也可以嘗試使用顯式等待

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("[value='TK']")).click();

單擊按鈕之前,最多需要等待10秒鍾才能看到該按鈕。 您可以更改選擇器或時間跨度。

嘗試使用XPath而不是CSS

driver.find_element(By.XPATH, '//input[@onclick=\'window.location.href=\'?mod=eA&amp;act=00001\';\']').click()

編輯

這是切換到iFrame的代碼,

driver.switchTo().frame("frame_name");

注意 :在iframe中完成操作后,您必須使用以下命令再次返回主窗口。

driver.switchTo().defaultContent();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM