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的具体含义
我也不清楚 求解释下 谢谢

在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中,我们可以通过定位元素来对网页进行操作 。

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

【以下回答由 GPT 生成】

问题解答:

在selenium中,session代表的是浏览器的一个会话。当我们使用selenium打开一个浏览器窗口时,会生成一个session,所有的操作都是在这个session中进行的。它可以用来管理一个浏览器窗口的生命周期,并且允许我们在同一个窗口上执行多个操作。

Element代表的是网页中的一个元素,比如一个按钮、一个输入框、一个链接等等。我们使用selenium的find_element方法可以通过不同的方式(如ID、class、标签名等)来定位一个或多个元素。

在你的代码示例中,el_1el_2都是通过find_elements方法找到的元素列表。打印出来的一串奇怪的内容是因为它们是selenium的WebElement对象,用来表示网页中的元素。这些对象包含了定位信息和一些方法,用于操作和获取元素的各种属性和内容。

如果你想要获取具体的元素文本或者属性值,可以使用WebElement对象中的方法或属性,例如:

# 获取第一个input元素的属性值
input_value = el_1[0].get_attribute('value')
print(input_value)

# 获取第一个input元素的文本内容
input_text = el_1[0].text
print(input_text)

希望以上解答能够对你有所帮助。如果还有其他问题,请随时提问。



【相关推荐】



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