selenium3.141.0执行JS无法传递element解决方法
问题:在Chrome 131版本以下执行下面代码没有问题,但是在131版本以上出现element无法传递问题,执行下面代码会出现 "Message: javascript error: Cannot read properties of undefined (reading 'click')"
# xpath匹配元素,JS代码点击selenium传递的元素
element = driver.find_element_by_xpath('//input[contains(@aria-label, "Woot")]')
driver.execute_script("arguments[0].click();", element)
解决办法: 纯JS进行xpath匹配点击
woot_js = """
const xpath = '//input[contains(@aria-label, "Woot")]';
const element = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null
).singleNodeValue;
element.click();
"""
driver.execute_script(woot_js)