selenium svg標簽定位元素


背景:

近期在寫ui自動化用例時,遇到問題,元素定位不了。初步嘗試直接在頁面中獲取svg中包含元素的xpath,直接利用selenium方法訪問,無法捕獲到相關元素信息。

self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/section/div/div/div[2]/div[4]/div[2]/table/tbody/tr[1]/td[11]/div/svg[1]').click()

解決:

svgelementXpath = "//div[12]/ *[name()='svg']/*[name()='g']/*[name()='g'][2]/*[name()='g'][1]/*[name()='image']"
從svg元素開始,下面的元素都要以  *[name()='svg element'] 這種形式進行編寫,selenium在執行的時候才能夠捕獲到元素信息。
在selenium點擊svg形式的頁面元素時,不能用普通的driver.find_element_by_xpath(svgelementXpath).click() 的方式進行點擊,這樣操作執行時會報錯誤信息。
 
需要以定義action的形式訪問svg的元素信息。

```

from selenium.webdriver import ActionChains
fuweielementXpath = '//*[@id="app"]/div/div[2]/section/div/div/div[2]/div[4]/div[2]/table/tbody/tr/td[11]/div/*[name()="svg"][1]'
svgelem = self.driver.find_element_by_xpath(fuweielementXpath)
action2 = ActionChains(self.driver)
action2.click(svgelem).perform()

```

 

參考:http://blog.sina.com.cn/s/blog_53f023270101rykh.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM