簡體   English   中英

xpath找不到具有Selenium 2的元素

[英]Couldn't find an element with Selenium 2 by xpath

我需要在HTML中找到此元素

<input id="hidder_form:j_idt286:parnterCategoryId" name="hidder_form:j_idt286:parnterCategoryId" type="text" value="" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false">

我就是這樣

使用由Chrome控制台生成的XPATH:

WebDriverWait(driver, 10).until_not(EC.presence_of_element_located((By.XPATH, '//*[@id="hidder_form:j_idt286:parnterCategoryId"])))

使用XPATH,它正在尋找一種正則表達式:

WebDriverWait(driver, 10).until_not(EC.presence_of_element_located((By.XPATH, '//*[starts-with(@id, "hidder_form") and ends-with(@id, "parnterCategoryId")]')))

最后使用XPATH,它完全通過頁面進入我的元素

'/html/body/section[@id = "hidder"]/form[@id="hidder_form"]/div[@id="forms"]/div[@class="ui-outputpanel ui-widget"]/section[@id="category_edit_form"]/div[@class="column-container"]/div[@class="left column50per"]/fieldset[@class = "properties"]/div/input[ends-with(@id, "parnterCategoryId")]'

他們都沒有工作。 都給一個例外

selenium.common.exceptions.InvalidSelectorException:消息:u'給定的選擇器由於以下錯誤而無法使用xpath表達式定位元素:\\ nSyntaxError:該表達式不是合法表達式。

ends-with是XPath 2.0函數,您的瀏覽器可能使用XPath 1.0處理器(Selenium使用瀏覽器處理器)。

XPath支持: 布局引擎(XML)的比較

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM