小工具知识网

当前位置: 首页 > 行业知识 > 常见控件应用

行业知识

常见控件应用

2026-11-11 00:22:43 来源:互联网转载

常见控件应用

  • 1.操作Ajax选项
  • 2.���动滑块操作

    1.操作Ajax选项

    Ajax即Asynchronous JavaScript and XML(异步JavaScript和XML),是指一种创建交互式、快速动态网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着Ajax可以在不重新加载整个网页的情况下,对网页的某部分内容进行更新。搜狗搜索的搜索框使用了Ajax。被测地址为https://www.sogou.com/。单击一下搜狗搜索框,切换到搜索框后,会弹出推荐搜索的热词,这个效果就是Ajax效果。

    • 通过模拟键盘输入下键(↓)进行选项选择
      from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom time import sleepfrom selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.get('https://www.sogou.com/')ele1 = driver.find_element(By.ID,"query")ele1.click()sleep(1)ele1.send_keys(Keys.ARROW_DOWN)ele1.send_keys(Keys.ARROW_DOWN)ele1.send_keys(Keys.ARROW_DOWN)sleep(5)driver.quit()
      • 通过模糊匹配选择选项。
        from selenium import webdriverfrom time import sleepfrom selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.get('https://www.sogou.com/')driver.find_element(By.ID,'query').send_keys('storm')sleep(1)sercont = driver.find_element(By.XPATH,'//*[@]/p[1]/ul/li[contains(.,"形容词")]').click()sleep(5)driver.quit()

        上述代码先在搜索框中输入了“storm”,然后从匹配的选项中选择了带有“形容词”字样的选项,再进行搜索操作(搜索“storm+形容词”)。

        • 固定选择某一个位置的选项。

          Ajax悬浮框的内容会发生变化(根据一定的推荐算法),而某些时候你可能只是想固定选择悬浮框中的某一个选项,如第二项,这时可以参考下面的代码

          from selenium import webdriverfrom time import sleepdriver = webdriver.Chrome()driver.get('https://www.sogou.com/')driver.find_element('id','query').send_keys('storm')sleep(1)sercont = driver.find_element('xpath','//*[@]/p[1]/ul/li[2]').click() # li[2]选择第2项sleep(5)driver.quit()

          2.滑动滑块操作

          在实际项目中,你可能会遇到以下场景:在某些页面中需要从左到右拖动滑块进行验证,然后才能进行下一步操作。

          可以看出,无论是滑块本身,还是滑块所在的框,都是p元素。

          • 操作思路
            • 定位到滑块。
            • 计算滑块框的宽度。
            • 然后将滑块向右拖动框的宽度的距离。
              from selenium import webdriverfrom time import sleepfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.get('https://passport.ctrip.com/user/reg/home')driver.find_element(By.XPATH,'//*[@]/p[3]/a[2]').click()sleep(2)# 获取滑块slider = driver.find_element(By.XPATH,'//*[@]/p[1]/p[2]')# 获取整个滑块框ele = driver.find_element(By.ID,'slideCode')# 需要使用到Actions的方法来进行拖动ActionChains(driver)\    .drag_and_drop_by_offset(slider,ele.size['width'], ele.size ['height'])\    .perform()# 这样也行,向右拖动一定的距离,长度是滑块框的宽度# ActionChains(driver).drag_and_drop_by_offset(slider,ele.size['width'], 0).perform()sleep(2)driver.quit()

上一篇:C语言 宏

下一篇:服务器加好友怎么加?