关于#python# selenium环境搭建的问题:python是正常的,selenium是4.10版本,edge的驱动arm和win64都试过

python是正常的,selenium是4.10版本,edge的驱动arm和win64都试过。
结果到 #查找搜索框元素 就不行了。
下面是代码和报错内容。

求靓仔靓女不吝赐教!

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

driver = webdriver.Edge() # 使用Edge浏览器
driver.get('https://www.baidu.com') # 访问百度网站

search_box = driver.find_element_by_name('wd') # 查找搜索框元素
search_box.send_keys('Python') # 在搜索框中输入Python

img

```python
#报错
"D:\新建文件夹 (7)\python3.11\python.exe" D:\py-xuexi\1333.py 
Traceback (most recent call last):
  File "D:\py-xuexi\1333.py", line 7, in <module>
    search_box = driver.find_element_by_name('wd') # 查找搜索框元素
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'


```

导包代码错了,from少了个f

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7515034
  • 这篇博客你也可以参考下:最全Python+Selenium环境搭建教程-你绝对想不到有这么简单!
  • 除此之外, 这篇博客: python爬虫——selenium爬取京东商品信息中的 9. 关于翻页的问题,我获取看最下面的下一页,不论我怎么试,都点击不了,也就是不能用selenium点击最下面的下一页进行翻页,所以我的方法的点击下图的下一页按钮实现翻页 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述
    在这里插入图片描述

  • 您还可以看一下 CSDN就业班老师的【Python全栈】第十一周 Python网络爬虫进阶实战课程中的 Selenium的使用4小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    针对您的问题,我理解您是想在Python中使用Selenium自动化测试框架并在网页中查找搜索框元素时遇到了问题。首先要确认一下使用的浏览器驱动程序是否正确匹配您的浏览器版本,在这里我建议您可以尝试使用Chrome浏览器和对应版本的驱动程序,因为Chrome浏览器的Selenium支持比较好,您可以在官网下载对应的Chrome驱动程序并加入路径中。以下是我可以建议的一些解决方案:

    1.加入隐式等待或显式等待,等待网页元素加载完毕。隐式等待和显式等待可以保证程序等待网页元素加载完毕后再进行下一步操作,避免过早的查找元素导致程序出错。使用隐式等待可以在初始化浏览器时设置,例如:

    from selenium import webdriver
    browser = webdriver.Chrome()
    browser.implicitly_wait(10)
    

    上述代码中的implicitly_wait方法将隐式等待的时间设置为10秒。

    使用显式等待可以通过WebDriverWait类实现,例如:

    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    # 等待搜索框元素可见
    element = WebDriverWait(browser, 10).until(
        EC.visibility_of_element_located((By.ID, "搜索框ID"))
    )
    

    上述代码中的WebDriverWait类将等待最多10秒,直到搜索框元素可见。

    2.使用find_element_by系列方法查找元素,尝试多种查找方式。Selenium提供了多种查找网页元素的方式,常用的有find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_css_selector等方法,您可以尝试多种方法找到搜索框元素,例如:

    element = browser.find_element_by_id("搜索框ID")
    
    element = browser.find_element_by_name("搜索框name")
    
    element = browser.find_element_by_xpath("//input[@id='搜索框ID']")
    
    element = browser.find_element_by_css_selector("#搜索框ID")
    

    3.尝试切换到正确的frame或窗口中查找元素。如果您在一个frame或窗口中无法查找到元素,可能是因为当前的上下文环境不正确,您需要先切换到正确的frame或窗口中,例如:

    browser.switch_to.frame("frame_name_or_id")
    element = browser.find_element_by_id("搜索框ID")
    

    4.在使用驱动程序前,确保您的浏览器已经正确配置并启动,您可以手动打开浏览器并访问您需要测试的网址,确保网页元素已经成功加载。

    总体来说,如果您的代码出现了问题,建议您先检查使用的驱动程序是否匹配,然后尝试使用以上的方法解决。如果问题仍然存在,您可以贴出完整的代码和报错信息,方便更好地定位问题并提供解决方案。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^