2014-11-21 64 views
0

早上好,無法找到/點擊的XLink:硒HREF

我正在與硒一個問題,即它不能看到一個按鈕,我想點擊。 這裏是元素的樣子:

<a data-ember-action="792" href="#"></a> 

<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="margin-top:8px; margin-left:16px;" width="16" height="16"> 
    <image alt="Edit product" xlink:href="/assets/images/edit.f65eeadf.svg" width="16" height="16" y="0" x="0" style="margin-top:8px; margin-left:16px;"></image> 
</svg> 

我試圖爲了找到元素如下:

wd.find_element_by_xpath("//image[contains(@src,'/assets/images/edit.f65eeadf.svg')]/parent::a").click() 

和:

edit_icon_button = wd.find_element_by_partial_link_text("f65eeadf.svg") 
edit_icon_button.click() 

和:

edit_product_icon = wd.find_element_by_css_selector("img[alt='Edit product'][src*='/assets/images/edit.f65eeadf.svg'") 
edit_product_icon.click() 

沒有我曾嘗試似乎工作。

有沒有人有關於如何在頁面上找到這個元素的建議?

謝謝。

+0

你得到了什麼異常? – Saifur 2014-11-21 14:35:31

回答

0

看起來原因是因爲svgimage元素嵌入鏈接。 例如,當您嘗試通過css "img[alt='Edit Product']"查找時,這裏有兩處錯誤。

  1. 選擇應該是image,不img - 你試圖點擊"image[alt='Edit Product']"
  2. 按鈕是第二父母,所以在純jQuery的你會做這樣的事情:

    $("image[alt='Edit product']").parents('a').click() 
    

不是很熟悉Selenium中的其他方法,但至少可以這樣做:

.find_element_by_xpath('..').find_element_by_xpath('..') 

找到您要查找的a元素。