上述代码中,findAndClickElementByIdInIframes 函数接受一个参数 id,表示要查找的元素的 ID,函数会先在当前页面中查找该元素,如果没有找到则递归地查找每个 iframe 中是否存在该元素如果找到了对应的元素,则通过 click。
如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。
Selenium封装了Select类专门处理下拉框定义了通过下标,通过文本,通过值等方法选择相对于的项。
我也遇到类似的问题对于类似echart插件绘制的图表,selenium无法定位到其中具体元素至少目前我没找到方法,所以要是测功能的话只得手工去点了比如单击跳转,如果是测数据,大可不必用selenium,可以考虑通过接口自动化。
3如果网页使用了前端框架如ReactVue等,可以使用相关的浏览器插件来查看前端组件树,并从中获取数据4如果以上方法均无法获取数据,可以尝试模拟浏览器行为来获取数据,例如使用Selenium自动化测试工具,或者使用网络。
1 使用 Python 的 Requests 库请求网页,然后使用 Beautiful Soup 库进行页面解析,提取目标数据2 使用 Selenium 库模拟浏览器操作,通过 CSS Selector 或 XPath 定位特定元素,提取目标数据3 使用 Scrapy 爬虫框架。
为了参数化csv文件中的数据,需要做到两点一是逐行读取用到列表 二是根据列名获取对应单元格的值用到字典 import csv bid_info = csvDictReaderopen#39bid_infocsv#39,#39r#39dict_data = for lines in bid_。