无法点击元素..无法识别它

时间:2017-10-03 22:09:51

标签: selenium webdriver

<div class="navpage-header-content">
<form action="textsearch.do" role="search" method="GET" class="form-inline navpage-global-search ng-non-bindable" aria-label="Global Search" target="gsft_main">
<input name="sysparm_ck" id="sysparm_ck" type="hidden" value="052ab09a0fa90700fa38563be1050e0fea31866160e7a5e6e0fc925775df282f070903d6"><div class="input-group-transparent">
<input name="sysparm_search" id="sysparm_search" placeholder="Search" type="search" class="form-control form-control-search">
<label for="sysparm_search" title="" data-original-title="Search">
<span class="input-group-addon-transparent icon-search sysparm-search-icon"></span>
</label></div></form></div>

这是元素的HTML标记。

WebElement ele1 = driver.findElement(By.xpath("//span[@class='input-group-addon-transparent icon-search sysparm-search-icon']"));
ele1.click();

但是我的脚本无法找到该元素并单击它。

我尝试过动作,Java脚本执行器,但我无法点击该元素。

1 个答案:

答案 0 :(得分:0)

实际上您正在尝试找到$total_price,您应该找到<?php //check for cart items based on user session id $get_cart_sql = "SELECT st.id, p.prod_name, p.prod_price, st.sel_prod_qty FROM store_shoppertrack AS st LEFT JOIN product AS p ON p.prod_id = st.sel_prod_id WHERE session_id = '".$_COOKIE['PHPSESSID']."'"; $get_cart_res = mysqli_query($mysqli, $get_cart_sql) or die(mysqli_error($mysqli)); if (mysqli_num_rows($get_cart_res) < 1) { //print message $display_block .= "<p>You have no items in your cart. Please <a href=\"seestore.php\">continue to shop</a>!</p>"; } else { //get info and build cart display $display_block .= <<<END_OF_TEXT <table> <tr> <th>Title</th> <th>Price</th> <th>Qty</th> <th>Total Price</th> <th>Action</th> </tr> END_OF_TEXT; while ($cart_info = mysqli_fetch_array($get_cart_res)) { $id = $cart_info['id']; $prod_name = stripslashes($cart_info['prod_name']); $prod_price = $cart_info['prod_price']; $prod_qty = $cart_info['sel_prod_qty']; $total_price = sprintf("%.02f", $prod_price * $prod_qty); $display_block .= <<<END_OF_TEXT <tr> <td>$prod_name<br></td> <td>\$prod_price <br></td> <td>$prod_qty <br></td> <td>\$ $total_price</td> <td><a href="removefromcart.php?id=$id">remove</a></td> </tr> END_OF_TEXT; } $display_block .= <<<END_OF_TEXT <tr> <th id="total" colspan="2">Total</th> <td colspan="2"></td> </tr> END_OF_TEXT; $display_block .= "</table>"; } //free result mysqli_free_result($get_cart_res); //close connection to MySQL mysqli_close($mysqli); ?> 标记以点击搜索span,它应该是这样的:

input

您还可以使用textbox找到它:

WebElement SearchBox=driver.findElement(By.id("sysparm_search"));
SearchBox.click();

将此代码用于xpath:

xpaths

您也可以使用 //*[@id='sysparm_search'] //input[@id='sysparm_search'] //input[@name='sysparm_search'] 找到它

将此代码用于名称:

WebElement SearchBox=driver.findElement(By.xpath("//*[@id='sysparm_search']"));
SearchBox.click();