Selenium中find_element_by_id无法使用,改用driver.find_element(by=By.ID, value=None)

在使用Selenium时遇到旧教程中的`find_element_by_id`方法不再适用,现在需要通过`By.ID`来查找元素。更新后的代码示例展示了如何使用`By`类来定位元素并成功执行自动化测试。
摘要由CSDN通过智能技术生成

在自学selenium的时候,可能教学视频太老了,WebDriver已经没有find_element_by_id这个方法了。

from selenium import webdriver
import time

# webdriver 获取浏览器的对象
driver = webdriver.Chrome()

# 准备一个网址

# https://www.baidu.com/
url = "https://www.baidu.com"

driver.get(url)

# 查找 元素(标签,标记,节点) 通过id
driver.find_element_by_id("kw").send_keys("python")
driver.find_element_by_id("su").click()

time.sleep(5)

# 回收资源
driver.quit()

执行结果如下:

bug翻译如下:

AttributeError:“WebDriver”对象没有属性“find_element_by_id”

通过自动补齐代码发现,WebDriver里面还是有find_element这个方法的。

通过按住Ctrl,点击该方法,我们可以进入到该方法的使用说明(源码)里查看。

这里有个使用例子,我们按照例子模仿即可。

修改过后的代码为:

from selenium import webdriver
import time
from selenium.webdriver.common.by import By

# webdriver 获取浏览器的对象
driver = webdriver.Chrome()

# 准备一个网址

# https://www.baidu.com/
url = "https://www.baidu.com"

driver.get(url)

# 查找 元素(标签,标记,节点) 通过id
driver.find_element(by=By.ID, value="kw").send_keys('python')
driver.find_element(by=By.ID,value="su").click()

time.sleep(5)

# 回收资源
driver.quit()

driver.find_element()

 注意:这里使用By这个类,要进行导包。

from selenium.webdriver.common.by import By

 执行结果:

成功了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值