哪个网站建站比较好,计算机培训中心网站,学php搞网站开发,农村自建房设计图纸大全WebDriver类是 Selenium WebDriver 提供的用于控制浏览器的核心类之一#xff0c;它提供了许多属性和方法来管理浏览器会话、导航到不同的网页、定位和操作页面元素等。下面分别归纳其属性和方法#xff1a;
**属性#xff1a;**
1. capabilities: 返回当前会话的浏览器的…WebDriver类是 Selenium WebDriver 提供的用于控制浏览器的核心类之一它提供了许多属性和方法来管理浏览器会话、导航到不同的网页、定位和操作页面元素等。下面分别归纳其属性和方法
**属性**
1. capabilities: 返回当前会话的浏览器的配置。 2. desired_capabilities: 返回用于启动浏览器的配置。 3. session_id: 返回当前会话的唯一标识符。 4. title: 返回当前页面的标题。 5. current_url: 返回当前页面的 URL。 6. page_source: 返回当前页面的 HTML 源代码。 7. current_window_handle: 返回当前窗口的句柄。 8. window_handles: 返回所有窗口的句柄列表。
**方法**
1. get(url): 打开指定 URL 的页面。 2. back(): 在浏览器历史记录中后退一步。 3. forward(): 在浏览器历史记录中前进一步。 4. refresh(): 刷新当前页面。 5. close(): 关闭当前窗口。 6. quit(): 退出 WebDriver 并关闭所有窗口。 7. execute_script(script, *args): 在当前页面执行 JavaScript 脚本。 8. execute_async_script(script, *args): 在当前页面异步执行 JavaScript 脚本。 9. switch_to: 切换到其他上下文如 iframe 或窗口。 10. implicitly_wait(time_to_wait): 设置隐式等待时间。 11. set_page_load_timeout(time_to_wait): 设置页面加载超时时间。 12. set_script_timeout(time_to_wait): 设置执行 JavaScript 脚本的超时时间。 13. add_cookie(cookie_dict): 添加 cookie 到当前会话。 14. delete_cookie(name): 删除当前会话中的指定 cookie。 15. delete_all_cookies(): 删除当前会话中的所有 cookie。 16. get_cookie(name): 获取当前会话中指定名称的 cookie。 17. get_cookies(): 获取当前会话中的所有 cookie。 18. maximize_window(): 最大化当前窗口。 19. minimize_window(): 最小化当前窗口。 20. fullscreen_window(): 将当前窗口设置为全屏。 21. back(): 返回上一个页面。 22. forward(): 前进到下一个页面。 23. find_element(by, value): 根据定位策略和值查找单个元素。 24. find_elements(by, value): 根据定位策略和值查找多个元素。
示例
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECdriver webdriver.Chrome()try:driver.get(https://www.hao123.com/)# print(*****driver_type,type(driver)) # driver_type class selenium.webdriver.chrome.webdriver.WebDriverinput_elements driver.find_elements(By.TAG_NAME, input)# print(*****input_elements,type(input_elements)) # *****input_elements class listfor input_element in input_elements:print(input_element.get_attribute(outerHTML))print(**35)lielements driver.find_element(By.CSS_SELECTOR,ul.boxhot li)for li in lielements:print(li.text)search_input driver.find_element(By.CSS_SELECTOR, input[data-hooksearchInput])# print(*****search_input_type,type(search_input)) # search_input_type class selenium.webdriver.remote.webelement.WebElementsearch_input.send_keys(Selenium库)search_button driver.find_element(By.CSS_SELECTOR, input[data-hooksearchSubmit])search_button.click()handles driver.window_handlesprint(type(handles))if len(handles) 1:driver.switch_to.window(handles[1])# Wait for the search results to load completelyWebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, div[idcontent_left])))
finally:driver.quit()# In this updated version, we added the following imports:
# from selenium.webdriver.support.ui import WebDriverWait
# from selenium.webdriver.support import expected_conditions as EC
# We then added a WebDriverWait statement to wait for the presence of a specific element in the search results page:
# WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, div[classsearch-list-item])))
# This statement waits for up to 10 seconds for an element with the CSS selector div[classsearch-list-item] to appear on the page.
# Once the element appears, the script continues to execute.# Note that you may need to adjust the CSS selector or the wait time to suit your specific needs.
# (By.CSS_SELECTOR, div[idcontent_left]) # selenium.webdriver.common.by.By 类的信息。这是 Selenium WebDriver 提供的一组支持的定位策略常量。
# 下面是这些常量的含义和用法
# By.CLASS_NAME: 根据元素的 class name 属性进行定位。
# By.CSS_SELECTOR: 根据 CSS 选择器进行定位。
# By.ID: 根据元素的 id 属性进行定位。
# By.LINK_TEXT: 根据链接文本进行定位适用于 a 标签。
# By.NAME: 根据元素的 name 属性进行定位。
# By.PARTIAL_LINK_TEXT: 根据链接文本的部分匹配进行定位。
# By.TAG_NAME: 根据元素的标签名进行定位。
# By.XPATH: 根据 XPath 表达式进行定位。
# 这些常量可用于 find_element() 和 find_elements() 方法的 locator 参数中以指定要使用的定位策略。 以上是 WebDriver 类对象的主要属性和方法它们允许你控制浏览器的行为与页面进行交互并执行自动化测试或网页爬取等任务。