2015-01-06 19 views
5

Tôi không thể bấm vào các giá trị HTML dưới đây thông qua selenium webdriver bấm lệnh thông qua Java.Làm thế nào để bấm vào một văn bản trong Selenium Webdriver 2.x

Dưới đây là HTML của tôi ... Tôi phải bấm vào PAAcctAcctRels, PAAcctActivityData, vv như trong HTML.

Tôi đã thử với Văn bản liên kết (driver.findElement(By.linkText("PAAcctAcctRels")).click();) và xpath (driver.findElement(By.xpath(".//[@id='primaryNavLevel2Z6_G868H4S0K881F0AAEO37LG28N0']/div[1]/a")).click();)

<div id="primaryNavLevel2Z6_0G5A11K0KGF200AIUB98T20G52" class="dropdown_1columns"> 
    <div class="col_1"> 
    <a class="" href="?uri=nm:oid:Z6_0G5A11K0KGF200AIUB98T20G53"> 
     <strong> 
     <span lang="en" dir="ltr"> 
      PAAcctAcctRels 
      <span class="wpthemeAccess"> currently selected</span> 
     </span> 
     </strong> 
    </a> 
    </div> 
    <div class="col_1"> 
    <a class="" href="?uri=nm:oid:Z6_0G5A11K0KGF200AIUB98T20GD4"> 
     <span lang="en" dir="ltr">PAAcctActivityData</span> 
    </a> 
    </div> 
    <div class="col_1"> 
    <a class="" href="?uri=nm:oid:Z6_0G5A11K0KGF200AIUB98T20GT1"> 
     <span lang="en" dir="ltr">PAAcctAddrEmail</span> 
    </a> 
    </div> 

Có cách nào khác để làm this..please cho tôi biết.

Trả lời

0

By.linkText("PAAcctAcctRels") sẽ không hoạt động vì liên kết có nhiều văn bản hơn (nghĩa là 'currently selected') và sự cố với đường đi của bạn bắt đầu bằng .//

Sau đây nên làm việc (tôi đã tránh sử dụng * cho hiệu suất)

By.xpath("//div[@id='primaryNavLevel2Z6_G868H4S0K881F0AAEO37LG28N0']/div[1]/a") 
3

1- Đối Nhấp vào văn bản 'PAAcctActivityData', bạn có thể sử dụng đoạn mã sau:

driver.findElement(By.xpath("//span[.='PAAcctActivityData']")).click();

2- Đối Nhấp vào văn bản 'PAAcctAddrEmail', bạn có thể sử dụng đoạn mã sau:

driver.findElement(By.xpath("//span[.='PAAcctAddrEmail']")).click();

LƯU Ý: - XPath trên sẽ xác định vị trí chính xác span elements với innerHTML/văn bản như 'PAAcctActivityData' hoặc 'PAAcctAddrEmail', tương ứng.

0

Thử sử dụng // [@ id = 'primaryNavLevel2Z6_G868H4S0K881F0AAEO37LG28N0']/div [1]/a/span làm xpath. Xóa 'ban đầu' ban đầu và thêm '/ span' ở cuối.

Các vấn đề liên quan