Web頁面主要由HTML、CSS、JavaScript腳本構成的web頁面。隨着互聯網技術的發展,當下大部分頁面都是動態頁面。
Web頁面中的各類視覺元素,例如文本框、按鈕、複選框、圖片、超鏈接、表等。這些元素在Selenium中都被稱爲頁面元素(WebElements),在其他自動化工具中常常被稱爲對象(如UFT中)。
當我們想讓Selenium自動地操作瀏覽器時,就必須告訴Selenium如何去定位元素。
大家都知道,Web頁面是由HTML、CSS和JavaScript等組成的,可以通過查看頁面源文件的方式瞭解這些信息,進而可以找到想要的元素標籤(Tag),知曉對應元素的屬性及屬性值,以及頁面的結構。以Bing搜索頁面爲例,如圖5-1所示。
其對應的HTML代碼爲:
<form action="/search" onsubmit="var id = _ge('hpinsthk').getAttribute('h'); return si_T(id);" role="none">
<div class="b_searchboxForm" role="search" data-bm="15">
<input class="b_searchbox" id="sb_form_q" name="q" title="輸入搜索詞"
type="search" value="" maxlength="100" autocapitalize="off" autocorrect="off"
autocomplete="off" spellcheck="false" aria-controls="sw_as" aria-autocomplete="both"
aria-owns="sw_as">
<div id="sb_go_par" data-sbtip="搜索網頁">
<input type="submit" class="b_searchboxSubmit" id="sb_form_go" tabindex="-1"
name="go">
</div>
<div id="sw_as" role="listbox" aria-label="建議" style="display: block; margin-left: -
1px; margin-right: 1px;">
<div class="sa_as" data-priority="2" data-bm="20"></div>
</div>
</div>
</form>
通過Web頁面代碼,能夠看到,搜索這樣的元素,都是採用嵌入在<form>標籤內的<input>標籤。
其中搜索框<input>標籤包含id、class、name等屬性。<input class="b_searchbox" id="sb_form_q" name="q" title="輸入搜索詞" type="search" value="" maxlength="100" autocapitalize="off" autocorrect="off" autocomplete="off" pellcheck="false" aria-controls="sw_as" aria-autocomplete="both" aria-owns="sw_as">
圖書京東、噹噹有售
京東:https://item.jd.com/12784287.html
噹噹:http://product.dangdang.com/29177828.html