Selenium使用注意事项:
find_element 和 find_elements 的区别
WebDriver和WebElement的区别
问题:
会遇到报错:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="1"]"}
NoSuchElementException
的意思就是在当前的网页上找不到该元素, 就是找不到id为1的元素。
分析原因:
可以用sleep等待时间来解决
from selenium import webdriver
from selenium.webdriver.common.by import By
wd = webdriver.Chrome()
wd.get('https://www.byhy.net/_files/stock1.html')
element.send_keys('通讯\n')
element = wd.find_element(By.ID, 'go')
element.click()
import time
while True:
try:
element=wd.find_element(By.ID,'1')
print(element.txt)
break
except:
time.sleep(1)
wd.quit()
但是这样的解决方案存在问题:
Selenium的Webdriver对象有个方法叫 implicitly_wait
,可以称之为隐式等待
,或者全局等待
。该方法接受一个参数, 用来指定最大等待时长。
wd.implicitly_wait(10)
最后
from selenium import webdriver
from selenium.webdriver.common.by import By
wd = webdriver.Chrome()
wd.implicitly_wait(10)
wd.get('https://www.byhy.net/_files/stock1.html')
element = wd.find_element(By.ID, 'kw')
element.send_keys('通讯\n')
# 返回页面 ID为1 的元素
element = wd.find_element(By.ID,'1')
print(element.text)
iframe元素非常的特殊, 在html语法中,frame 元素 或者iframe元素的内部 会包含一个被嵌入的另一份html文档。导致如果直接读取.plant就没有办法读取到,就必须切换操作范围
到被嵌入的文档中,需要加入
原文地址:https://blog.csdn.net/weixin_71113035/article/details/140304918
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!