[英]Selenium Webdriver (Java) cannot click the AJAX button
我有一個網站,頂部有一些按鈕。 單擊后,將出現一個新的AJAX部分。
我對HTML不太熟悉,但是按鈕“添加”(此按鈕是我的目標)位於<span>
。
<!DOCTYPE html>
<html slick-uniqueid="3">
<head></head>
<body class="newui">
<div class="pagewrapper ">
<div class="section shadow" data-form-element="SectionHeading">
<div class="section-header">
<div class="section-title"></div>
<div class="section-nav">
<ul>
<li class="add u-yellow">
<span></span>
<span style="background-color: transparent;">
Add
</span>
我在硒中使用此代碼
driver.findElement(By.xpath("//li[5]/span[2]")).click();
但Selenium無法找到該按鈕或單擊它。
返回錯誤
線程“主要” org.openqa.selenium.WebDriverException中的異常:未知錯誤:元素在點(1776,32)不可單擊。 其他元素將收到單擊:(會話信息:chrome = 40.0.2214.115)(驅動程序信息:chromedriver = 2.14.313457(3d645c400edf2e2c500566c9aa096063e707c9cf),平台= Windows NT 6.3 x86_64)(警告:服務器未提供任何堆棧跟蹤信息)命令持續時間或超時:51毫秒
誰能幫我嗎?
謝謝。
li
元素實際上是可點擊的:
driver.findElement(By.cssSelector("li.add.u-yellow")).click();
我找到了一個很好的解決方案。 基本上,我使用FirePath(Firefox附加組件)查找CSS或XPath位置,並將其用於我的webdriver代碼。 Firepath告訴我該按鈕具有CSS位置
.add.u-yellow>span
我把它放在我的代碼中
driver.findElement(By.cssSelector(".add.u-yellow>span")).click();
... 有用 :)
我不熟悉Javascript,所以不知道為什么.add.u-yellow>span
可以正常工作。 但是FirePath似乎是協助Webdriver開發人員的好工具:)
可能有很多事情。
您可以嘗試單擊父元素,因為已經有人建議:
driver.findElement(By.cssSelector("li.add.u-yellow")).click();
另外,您可以綁定span元素的類:
driver.findElement(By.cssSelector("span[style='background-color: transparent;']")).click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.