我需要按序列號單擊表格上的復選框,但序列號未通過任何唯一識別符號系結到復選框:

這是連續劇:
<a href="#" style="padding-left:10px;" id="inactive_406906" onclick="getDeviceInfo(406906); return false;"> SZK190052 </a>
這是復選框:
<input id="inactiveDeviceSelectionCheckbox" class="deviceSelectionCheckBox" name="inactiveList" type="checkbox" value="406906" onclick="onClickDeviceCheckbox(this, document.myform.deviceInactiveCheckAll, 406906, false, false, false, false, false, 0)" onchange="populateInactiveCheckedDevice(this, 406906, false, false)">
這是我的嘗試:
browser.find_element_by_xpath("//tr[.//a[text()='SSJD90134']]//input[@class='deviceSelectionCheckBox']").click()
我收到以下錯誤:
Message: no such element: Unable to locate element: {"method":"xpath","selector":"//tr[.//a[text()='SSJD90134']]//input[@class='deviceSelectionCheckBox']"}
不幸的是它不起作用,任何幫助表示贊賞。
謝謝,
uj5u.com熱心網友回復:
你快到了。您正在搜索的文本之間有空格。在 xpath 下使用。
//tr[.//a[normalize-space(text())='SSJD90134']]//input[@class='deviceSelectionCheckBox']
所以你的代碼就像
browser.find_element_by_xpath("//tr[.//a[normalize-space(text())='SSJD90134']]//input[@class='deviceSelectionCheckBox']
").click()
另一個 Xpath 選項:
//td[.//a[normalize-space(text())='SSJD90134']]/preceding-sibling::td//input[@class='deviceSelectionCheckBox']
uj5u.com熱心網友回復:
而不是text()='SSJD90134'你可以使用contains(.,'SSJD90134'),而不是
browser.find_element_by_xpath("//tr[.//a[text()='SSJD90134']]//input[@class='deviceSelectionCheckBox']").click()
您可以使用
browser.find_element_by_xpath("//tr[.//a[contains(.,'SSJD90134')]]//input[@class='deviceSelectionCheckBox']").click()
或者,正如 Kunduk 所述,您可以使用normalize-space()方法洗掉空格
browser.find_element_by_xpath("//tr[.//a[normalize-space() = 'SSJD90134']]//input[@class='deviceSelectionCheckBox']").click()
uj5u.com熱心網友回復:
鏈接測驗周圍有空格:
driver.find_element(By.XPATH, "//*[matches(text(),'SZK190052']//input").click()
要么
driver.find_element(By.XPATH, "//*[text()=' SZK190052 ']//input").click()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/444110.html
上一篇:SwiftUI:如果已滿(100%),如何創建帶有“淡出”起始行的圓形“進度”欄小部件,如iOS上的“電池”小部件
