from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.chrome.options import Optionsdef initialize_driver(): options = Options() driver = webdriver.Chrome(options=options) return driverdef find_element_by_id(driver, element_id): try: element = driver.find_element_by_id(element_id) print(element) except NoSuchElementException: print(f"Element with ID '{element_id}' not found.")def find_elements_by_id(driver, element_id): try: elements = driver.find_elements_by_id(element_id) print(elements) except NoSuchElementException: print(f"Elements with ID '{element_id}' not found.")def find_element_by_class(driver, class_name): try: element = driver.find_element_by_class_name(class_name) print(element) except NoSuchElementException: print(f"Element with class '{class_name}' not found.")def find_element_by_xpath(driver, xpath): try: element = driver.find_element_by_xpath(xpath) print(element) except NoSuchElementException: print(f"Element with XPath '{xpath}' not found.")def find_element_by_link_text(driver, link_text): try: element = driver.find_element_by_link_text(link_text) print(element) except NoSuchElementException: print(f"Element with link text '{link_text}' not found.")def find_element_by_partial_link_text(driver, partial_link_text): try: element = driver.find_element_by_partial_link_text(partial_link_text) print(element) except NoSuchElementException: print(f"Element with partial link text '{partial_link_text}' not found.")def find_elements_by_tag_name(driver, tag_name): try: elements = driver.find_elements_by_tag_name(tag_name) print(elements) except NoSuchElementException: print(f"Elements with tag name '{tag_name}' not found.")def retrieve_tags(): driver = initialize_driver() driver.get('https://www.douban.com') # 使用封装的函数进行元素查找 find_element_by_id(driver, 'anony-nav') # find_elements_by_id(driver, 'anony-nav') # find_element_by_class(driver, 'anony-nav') # find_element_by_xpath(driver, '//*[@id="anony-nav"]/h1/a') # find_element_by_link_text(driver, '下载豆瓣 App') # find_element_by_partial_link_text(driver, '豆瓣') # find_elements_by_tag_name(driver, 'div') # find_element_by_tag_name(driver, 'h1') # find_element_by_link_text(driver, '下载豆瓣 App') # 关闭WebDriver driver.quit()if __name__ == "__main__": retrieve_tags()
解析:如上代码在脚本通过“find_element_by_id”获取元素对象的时候就一直报错,断点查看“driver”对象是存在的,但是“find_element_by_id”不存在,是因为版本问题吗?
有没有大佬帮忙看一下,刚刚学,不是很懂,谢谢。
应该是版本不同导致的API不同,见:
https://blog.csdn.net/weixin_51637785/article/details/125509483
问题内容: 我收到一个元素不可见的错误: 对于运行此代码时的每个find元素行: 页面登录部分的HTML如下所示: 问题答案: Selenium与用户与Web浏览器的交互方式类似。因此,如果您尝试与之交互的html元素不可见,那么最简单的解释是,当您编写硒代码时,您不会像普通用户那样与网页进行交互。 最后,这与网页的html无关,与DOM和元素的hidden属性无关。我建议您下载Firebug或其
本文向大家介绍Python通过解析网页实现看报程序的方法,包括了Python通过解析网页实现看报程序的方法的使用技巧和注意事项,需要的朋友参考一下 本文所述实例可以实现基于Python的查看图片报纸《参考消息》并将当天的图片报纸自动下载到本地供查看的功能,具体实现代码如下:
我有一个带有两个Selenium服务的Docker撰写文件: 我有另一个服务设置与量角器安装。 这是我的量角器配置文件: 这可以成功运行,但如果我将浏览器名称更改为firefox,将selenium地址更改为firefox容器,测试就会失败。 1) 选中时,includes coachcard指令应显示coachcard类型面板 消息:失败:在页面上找不到角度http://build-tool:8
问题内容: 我有一台服务器A,上面装有eclipse,testNG,selenium和其他东西。我有另一个服务器B,上面装有Bamboo设置。 我能够在服务器A上运行一个testNG脚本,该脚本在我正在开发的Web应用程序上运行一组selenium测试。我使用了eclipse中显示的vm属性中的java命令,通过Bamboo在服务器B上创建了一个ssh任务。 但是,它似乎只是坐在那里而从未真正完成
问题内容: 我遇到了NullPointerException问题。我已尽力而为,但无法解决此问题。我正在为我的项目实现POM模型(selenium)。 这一页: 测试类: 错误日志: 类: 有什么帮助吗? 问题答案: 您需要先初始化。如我所见,您正在创建但未初始化的引用,请尝试如下操作:- 注意 :-如果要初始化,则需要先下载chromedriver并设置系统属性,然后再将驱动程序初始化为:- 所
我正在抓取这个网页的用户名,在滚动后加载用户 指向页面的Url:“http://www.quora.com/Kevin-Rose/followers" 我知道页面上的用户数(本例中的用户数为43812),如何滚动页面直到加载所有用户?我在互联网上搜索过同样的代码,在任何地方我都能找到几乎相同的代码行: driver.execute_script("window.scroll至(0)") 如何确定垂