定位元素的时候,不知道大家是否会遇到这种情况:使用了多种方式总是显示不可用。使用的定位方式包括但不仅限于:
driver.find_element_by_name
driver.find_element_by_class_name
driver.find_element_by_xpath
driver.find_element_by_css_secector
结果总是说定位不到,我真的太疑惑了,最后发现JS定位成功解决了我的问题:
search_js = "document.getElementsByName('title')[0].value='selenium';"
search_js2 = "document.querySelectorAll('title')[0].value='selenium';"
button_js = "document.getElementById('title').click();"
button_js2 = "document.getElementsByClassName('title')[0].click()"
driver.execute_script(search_js2)
driver.execute_script(button_js2)
注意:使用以上代码前请记得import json模块才可以使用。
参考作者主页:https://blog.csdn.net/qq_32897143
感谢!