大家好我的代碼的功能是獲取用戶鞋大小首選項,然後根據它們的大小單擊頁面上的某個元素。 我將通過從用戶處獲取數字輸入並將其存儲在一個值中,然後搜索與他們輸入的大小相匹配的元素來完成此操作。如何使用同一個類名稱定位多個「li」
這裏是我使用的網站的HTML代碼:
<div class="form product__form product__form--size product__form--last js-select-size-mapper">
<ul class = "product-size">
<li class = "js-size-value ">
8
</li>
<li class = "js-size-value ">
9
</li>
<li class = "js-size-value ">
9.5
</li>
<li class = "js-size-value ">
10
</li>
<li class = "js-size-value ">
10.5
</li>
</ul>
</div>
我總是得到某種關於如何元素無法點擊的錯誤。奇怪的部分有時是IWebElement聲明被驗證(我的意思是沒有錯誤聲明它),有時當我嘗試點擊時有錯誤。
如果您需要查看更好的代碼示例,請跳至網站here。
例如,當我運行這段代碼:
var element = driver.FindElement(By.XPath("//li[contains(@class,'js-size-value ')][contains(text(),size)]"));
element.Click();
*注意,我之前已經宣佈了一個名爲「大小」的變量,而這正是我指的是,當它說:「(文本() ,大小)」
我得到的錯誤:
Additional information: Unexpected error. Element is not clickable at point (825.1500244140625, 45.69999694824219). Other element would receive the click: div class="header__wrapper">
我不知道如何處理這一點,需要在一般揭示它的一些情況。我已經通過stackoverflow搜索答案,並沒有發現任何有關exactlty我試圖完成的職位,或含糊不清,難以理解。
在回答我對Selenium和C#一般都是新手時,請小心謹慎,所以如果您可以在答案中添加一些細節,而不是假設我知道您在說什麼,那就太好了。
嗨Bouke,我跑了你建議的代碼和一個小窗口彈出稱Firefox正在更新...現在,我在新的firefoxdriver()行上得到了一個「WebDriverException was unhandled」的錯誤,並且Firefox會打開,但不會顯示任何頁面。我知道它與你的代碼無關,但你有什麼建議嗎? –
這可能很有可能WebDriver沒有及時更新FireFox。我建議再次將FireFox降級到以前的版本,或者暫時使用Chrome。 – Bouke
我遵循教程並降級了FireFox。嘗試您的代碼後,我收到錯誤: –