[英]Locating web element using selenium in python
我正在嘗試使用硒在網頁中查找元素。 當我在Web元素上“右鍵單擊”並檢查時,我可以在控制台中找到html代碼。 但是,當我從控制台復制同一元素的xpath並嘗試在firepath中執行它時,它顯示“沒有匹配的節點”。 為什么會這樣,我該如何解決?
這是元素的HTML。
<input id="mobile" type="text" onchange="javascript:dispLocMob(this);
"onkeydown="javascript:dispLocMob(this);
"onkeyup="javascript:dispLocMob(this);" value="" maxlength=
"10" placeholder="Mobile Number" name="mobile">
這就是我在做什么:
receiverMobileElement = browser.find_element_by_xpath('//*[@id="mobile"]')
請幫忙。
當您可以通過唯一 id
查找元素時,為什么要使用xpath
?
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://example.com')
target_element = browser.find_element_by_id('mobile')
我總是說螺絲螢火蟲,請使用Chrome控制台。
從外觀上看,獲取此特定元素的最佳方法是以下兩個選項之一(假設'id = mobile'是唯一的)。
By.cssSelector("#mobile");
By.xpath("//input[@id = 'mobile']");
要使用Chrome控制台->
document.querySelectorAll( “#移動”)
對於xpath,請輸入
$ xBy.xpath(“ // input [@id ='mobile']”);
只是一個建議...如果您的代碼有效,請不要擔心螢火蟲,並認真嘗試在chrome中嘗試這種方式!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.