使用Selenium,我将在网页上找到下面的复选框。
<input type="checkbox" value="1" onclick=" document.getElementById('lastCheminClicked').value='123'; createInputsBinaireCell(25,'colonne5',1,0789,1,1,0,this.checked, this);">
其独特之处在于"onclick“中的'123‘值,这就是selenium应该寻找的内容。
有什么办法在页面上找到吗?我尝试过xpath,但没有成功。
发布于 2019-08-10 03:05:31
发布于 2019-08-08 12:00:14
正如您所提到的,部分值123在onclick
事件中是不同的,因此要定位元素,可以使用以下任何一个定位器策略
CSS_SELECTOR
:
元素=WebDriverWait(驱动程序,WebDriverWait“inputtype=‘复选框’”))XPATH
:
元素=WebDriverWait(驱动程序,“//123@type=‘WebDriverWait’并包含(@onclick,‘123’)”))发布于 2019-08-08 09:43:43
您可以尝试找到所有的输入标记,然后遍历每一个查看onclick属性。例如:
from selenium.webdriver.common.by import By
input_tags = driver.find_elements(By.TAG_NAME, 'input')
found_tag = None
for input_tag in input_tags:
onclick_attribute = input_tag.get_attribute('onclick')
if ".value='123'" in onclick_attribute:
found_tag = input_tag
break
您可能需要围绕get_attribute
调用进行异常处理。
https://stackoverflow.com/questions/57418041
复制相似问题