def get_id(driver):
driver.get('chrome://extensions/')
shadow = driver.find_element(By.XPATH,'//extensions-manager')
shadowroot = get_shadow(shadow,driver)
shadow1 = shadowroot.find_element_by_xpath('//*[@id="items-list"]')
#此处无法继续查找 还有一个代码是WebElement 无法继续定位
def get_shadow(ele,driver):
shadow_root = driver.execute_script('return arguments[0].shadowRoot', ele)
return shadow_root
if __name__ == '__main__':
options = Options()
options.add_argument("--user-data-dir=" + r"C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/")
driver = uc.Chrome(options, version_main=96)
username = 'pierrelattimer53@gmail.com'
password = 'asyufguia646'
secret = '7vqx4dzbp35un7xllg6mm7dy'
# get_exe(driver,username,password,secret)
get_id(driver)
是否有进行异常的json的处理,这里显示你的参数无效,可能是异常返回的json数据不同导致的
不用看就知道这句错
shadow1 = shadowroot.find_element_by_xpath('//*[@id="items-list"]')
shadowroot 是webdriver的实例吗?
shadow_root = driver.execute_script('return arguments[0].shadowRoot', ele)这好像是的元素对象啊,是可以获取里面属性的,跟driver实例不一样,你可以t = shadow_root .text获取属性link = shadow_root .get_attribute("href")
关于selenium中页面元素(Elements)定位思路整理
https://blog.csdn.net/weixin_40131458/article/details/80603442
你可以看一下,我刚写的实例
python3 selenium chrome 实例
https://blog.csdn.net/javaldk/article/details/122655815
options.add_argument("--user-data-dir=" + r"C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/")
这一句就错了
虽然不知道你要说啥,但是第一眼看代码,我觉得你那个options.add_argument()那个c盘路径要不要考虑加个引号,那个User Data是有空格的,不加引号容易出问题
跑了一下代码,不太友好,uc是什么鬼,还有你的options.add_argument,这应该不是很行吧
看了报错提示,有个参数异常提示,我看了你的代码,没有问题,那么有可能出错的地方就2个
第一,xpath路径出现,没有获取到路径导致后面出错。
第二,driver没有运行权限,从而导致后续报错!
看着代码没啥问题,应该是权限问题吧
方便截图一下报错内容吗?
跟着学习
这是什么需求代码,我最近也在学selenium自动化测试