sinnp 2023-08-17 15:26 采纳率: 0%
浏览 16

selenium中的session和element代表什么意思

本最近在学selenium遇到一个东西 不知道是什么
我的selenium版号为4.11.2 python版本为3.11
我的代码为

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

driver = webdriver.Edge() 
driver.get("https://www.baidu.com/")  # 打开百度

# 4个定位 (定位的时候满足定位条件的元素可能不只一个)
el_1 = driver.find_elements(By.TAG_NAME, "input")
el_2 = driver.find_elements(By.ID, "s_top_wrap")

print(el_1)
#el_1打印结果为
#[<selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_5")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_6")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_7")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_8")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_9")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_10")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_11")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_4")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_12")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_13")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_14")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_15")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_16")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_17")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_18")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_19")>, <selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_20")>]

print(el_2)
#el_2的打印结果为
#<selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_21")>

el_2的打印结果为
<selenium.webdriver.remote.webelement.WebElement (session="590bc5560477c9caa022dae0a3821be9", element="9DCA4E456CD29A98250C25FB368F0361_element_21")>
求告诉我以下问题
①为什么用find_elements()的时候返回的element前面的一串数字一样 例如el_1 el_1的打印结果在代码里 el_1的代码是个列表每个中的element只有前面的一串数字9DCA4E456CD29A98250C25FB368F0361一样后面跟的element_5不一样
②9DCA4E456CD29A98250C25FB368F0361这一串数字代表什么意思
③还有element_21代表的又是什么 如果代表的是网页中出现的顺序那为什么el_2中是从element_21开始的 而不是从element_1开始的
④还有session的具体含义
我也不清楚 求解释下 谢谢

  • 写回答

2条回答 默认 最新

  • 度假的小鱼 全栈领域新星创作者 2023-08-17 16:01
    关注

    在Selenium中,"session"和"element"是两个重要的概念。

    1.Session: 在Selenium中,一个session指的是与一个特定的Web浏览器实例的连接。当你启动一个Selenium会话(session)时,它会打开一个浏览器窗口,加载一个指定的URL,并开始在这个浏览器窗口中执行你的测试。在测试执行过程中,你将会与这个浏览器窗口交互,例如点击按钮、填写表单、验证页面内容等。当你完成一个测试或需要关闭浏览器窗口时,你需要结束这个session。
    2.Element: 在Selenium中,一个element指的是在Web页面上的一个可交互的元素,例如一个按钮、一个链接、一个文本框等。Selenium提供了一组方法来定位并操作这些元素。例如,你可以使用ID、name、class name、tag name等属性来定位元素。当你定位到一个元素后,你就可以对其进行操作,例如点击、输入文本、获取文本等。
    简单来说,session就是你的测试环境,包括浏览器和加载的页面;而element就是你在这个测试环境中需要操作的对象,例如点击按钮、填写表单等。

    简单来说:Session是指浏览器会话,而Element是指网页上的元素。Session它代表了一个浏览器窗口和该窗口中的WebDriver对象。一个Session可以打开多个浏览器窗口,每个窗口都有自己的WebDriver对象。而Element则是指网页上的各种元素,如文本框、按钮、下拉框等等。在Selenium中,我们可以通过定位元素来对网页进行操作 。

    如有帮助,还望点个采纳,感谢。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月17日

悬赏问题

  • ¥30 要求把带有文件的上级文件夹改成文件的名字。要求BAT
  • ¥30 不会,学习,有偿解答
  • ¥15 SQL查询语句报错(检查)
  • ¥15 此表中公式应该怎么写
  • ¥15 求HI-TECH PICC 9.50 PL3安装包
  • ¥15 下载ctorch报错,求解
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的