很快,我試圖避免使用xpath和使用css選擇器,因為xpath可能有性能問題,所以我想知道在串列中定位例如 "A "的正確方法
<div class="input-search-suggests" xpath="1">
<div class="input-search-suggests-item">A</div>
<div class="input-search-suggests-item">B</div>
<div class="input-search-suggests-item">C</div>
</div>
目前我正在使用xpath / span來定位A,但它確實足以定位所有的元素,然后從串列中抓取具有相同類別的A,即 "input-search-suggests-item"
@FindBy(xpath = "//span[contains(text(),'A')]" )
uj5u.com熱心網友回復:
CSS_SELECTOR 不支持直接的文本,而xpath有。
這意味著,對于下面的xpath
xpath = "//span[contains(text(),'A')]"
基于文本A你不能寫一個css選擇器。
相反,要使用css選擇器來定位A,你可以做:
div.input-search-suggests > div.input-search-suggests-item
在Selenium中是這樣的:
@FindBy(cssSelector= "div.input-search-suggests > div.input-search-suggests-item" )
盡管它將有3個匹配節點,但findElement將采取第一個web元素。
另外你可能想看看nth-child(n)
div.input-search-suggests > nth-child(1)
利用索引來定位A, B, C
這里是參考鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/309753.html
標籤:
上一篇:如何用Seleniumpython查找網頁中的所有元素
下一篇:如何刮取行中有行的網路表格?
