慕诗诗老师你好,第二章处理验证码那块,我完全按照你的代码敲的,但是我调用location方法获取元素坐标就报错。那块问题一直没解决
来源:2-13 如何解决验证码代码实战

勇敢的约书亚
2020-09-18
代码:
from selenium import webdriver
import time
import random
from PIL import Image
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
driver = webdriver.Firefox()
#driver1 = webdriver.Edge()
driver.get(“http://www.5itest.cn/register”)
driver.maximize_window()
time.sleep(5)
driver.save_screenshot(“D:\python\picture\code001.png”)
code_element = driver.find_element_by_id(“getcode_num”)
print(code_element.location)#{“x”:123,“y”:345}
left = code_element.location[‘x’]
top = code_element.location[‘y’]
right = code_element.size[‘width’]+left
height = code_element.size[‘height’]+top
im = Image.open(“D:\python\picture\code001.png”)
img = im.crop((left,top,right,height))
img.save(“D:\python\picture\code002.png”)
报错信息:
Traceback (most recent call last):
File “D:/python/pythonCode/test/start_broswer.py”, line 25, in
print(code_element.location)#{“x”:123,“y”:345}
File “C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webelement.py”, line 535, in location
new_loc = {“x”: round(old_loc[‘x’]),
TypeError: ‘NoneType’ object is not subscriptable
请老师指导~
1回答
-
Mushishi
2020-09-19
TypeError: ‘NoneType’ object is not subscriptable
这个None说明是什么?说明你code_element是一个空的对象啊。这个你打印出来看一下你这个元素找到没有
00
相似问题