2016-02-22 5 views
1
<a href="XXXX.asp?WCI=XXXX_Process&amp;CacheID=123351730222025121&amp;menuopt=Policy&amp;TransTyp=NBS"> 
    <strong><font face="Arial" color="Navy">New Business - Rate</font></strong> 
</a> 

Как единичный элемент в HTML выше, я попытался ниже код, но оно не работает изКак идентичность элемента селена для ниже HTML

  1. driver.findelement(By.cssselector(a[href='given the full href link'])).click() --didn't работать из-за CacheId является Dyanamic

  2. driver.findelement(By.cssselector(a[href*='TransTyp=NBS'])).click() --tried с частичным словом не работал ни

Пожалуйста, помогите мне в этом.


я попробовал то же самое в хроме это работает как шарм, даже мой прежний код прекрасно работает с chrome.Not уверен, что Internet Explorer имеет какие-либо проблемы, передачи их. Я использую ОС Windows 10, и с ним работает Internet Explorer. В Internet Explorer я могу войти в систему с селеном после целевой страницы, когда хочу щелкнуть по новой бизнес-ссылке, что она не работает, но тот же код отлично работает в хроме. Есть ли причина для этого?

ответ

0

Работала над этим вопросом после долгого времени. По моей вине, не осознавая концепции Frames. Веб-страница, в которой я работал, включает фреймы в Internet explorer. Работать отлично с linktext сам. Спасибо

0

Вы должны использовать XPath. И вам нужно два шага здесь:

  1. Найти элемент по тексту
  2. Найти ближайший a к элементу с текстом ссылки

Вот XPath, который делает это:

driver.findelement(By.xpath("//*[text()='New Business - Rate']/ancestor-or-self::a")) 
+0

Я пробовал Xpath u дал, он имеет один соответствующий узел в Firefox Xpath, когда я пробовал то же самое в коде, не получая такой ошибки элемента. 'driver.findElement (By.xpath (" // * [text() = 'New Business - Rate']/ancestor :: a ")). Click();' – sam

0
driver.findElement(By.linkText("New Business - Rate")); 
Смежные вопросы