在學習Selenium路上,踩了也不少坑,這是我最近才發現的一個新寫法,好吧,"才發現"又說明我做其他事了。對的,我現在還在加班!
開車~~~
例子:知乎網
標簽:Python3.6,Selenium
1、通常我們使用xpath的時候,我們會通過Chrome或者Firefox中自帶的定位提示,復制粘貼到我們的腳本中去。這是新手最喜歡做的事了。
現在我們要改變那種習慣,在一些沒必要的時候,就不要復制粘貼了
我們嘗試復制粘貼的xpath方式登錄知乎:
我們看到,每一個xpath定位的元素都是很長很長,這樣會給我們帶來視覺的不舒服,而且這樣可以看出,復制的xpath就是復制源碼的路徑,沒有太多的技術性
2、現在我們根據xpath語法對定位元素進行修改:
我們先去看一下知乎登錄網頁的源碼是怎樣的吧
登錄這個元素是在一個div(class="navs-slider")下的<a>標簽下的,這樣我們就可以直接通過class name找到“登錄”元素了。
我們根據xpath的語法書寫://*[@這里寫class name]
想知道更多語法,可以去w3cshool了解 http://www.w3school.com.cn/xpath/xpath_syntax.asp
這樣一寫,我們就可以簡化我們的例子了
寫出來就高大上好多了。
我們這樣寫,是找到元素的上一級的class name來定位我們需要的元素,這樣就簡化了很多代碼,減少我們的代碼量了,同時也不會看到每定位一個元素就要一大行代碼了。