今天寫指令碼發現頁面有svg結構,裡面的元素無法定位,查詢很多資料,然後就記錄下來
初步嘗試直接在頁面中獲取svg中包含元素的xpath,直接利用selenium方法訪問,無法捕獲到相關元素資訊。
svg包含一些圖形元素,比如line,rect,circle等,很多情況下我們可以點選svg上的元素觸發一些event,比如開啟context menu、在乙個pie裡選擇乙個portion等。但是svg在html看來是乙個單獨的元素,我們怎麼點選svg裡的元素呢?下面記錄下 firefox和chrome上的方法(其他browsers沒有試)
解決方案:
用xpath找到元素,新建乙個actions點選就好了,要注意的是定位svg元素要用xpath的name()函式,比如這個locator://svg/line[2],要用//*[name()='svg']/*[name()='line'][2]"代替
**示例:
webelement element = driver.findelement(by.xpath(slocator)); //slocator like "
//*[name()='svg']/*[name()='line'][2]"
new actions(driver).click(element).build().perform();
專題 玩轉selenium(一)
安裝selenimu pip install selenium python3 help selenium traceback most recent call last file line 1,in nameerror name selenium is not defined import sel...
selenium 操作鍵盤
selenium 提供幾乎可以操作鍵盤上所有按鍵的類 keys 可以利用 send keys 方法來模擬使用者輸入,也可以用他來鍵入鍵盤上的按鍵,甚至是組合鍵,如 ctrl a ctrl c 等。from selenium import webdriver from selenium.webdriv...
selenium常用操作
from selenium import webdriver driver webdriver.chrome 切換到某iframe driver.switch to.frame 元素 退出iframe到最外層 driver.switch to.default content 退出到上一層頁面 dri...