![](/img/trans.png)
[英]Unable to click the 'button' in selenium webdriver (using Java)
[英]Selenium Webdriver - unable to click on button
HTML代碼:
<div class="buttonBG">
<input type="button" onclick="window.location.href='?mod=eA&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&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&act=00001\';\']').click()
編輯
這是切換到iFrame的代碼,
driver.switchTo().frame("frame_name");
注意 :在iframe中完成操作后,您必須使用以下命令再次返回主窗口。
driver.switchTo().defaultContent();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.