网站开发插件,平面设计有哪些,国外以紫色为背景的网站,市场调研方法常见控件应用 1.操作Ajax选项2.滑动滑块操作 1.操作Ajax选项
Ajax即Asynchronous JavaScript and XML#xff08;异步JavaScript和XML#xff09;#xff0c;是指一种创建交互式、快速动态网页应用的网页开发技术。通过在后台与服务器进行少量数据交换#xff0c;Ajax可以… 常见控件应用 1.操作Ajax选项2.滑动滑块操作 1.操作Ajax选项
Ajax即Asynchronous JavaScript and XML异步JavaScript和XML是指一种创建交互式、快速动态网页应用的网页开发技术。通过在后台与服务器进行少量数据交换Ajax可以使网页实现异步更新。这意味着Ajax可以在不重新加载整个网页的情况下对网页的某部分内容进行更新。搜狗搜索的搜索框使用了Ajax。被测地址为https://www.sogou.com/。单击一下搜狗搜索框切换到搜索框后会弹出推荐搜索的热词这个效果就是Ajax效果。 通过模拟键盘输入下键↓进行选项选择
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from 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 webdriver
from time import sleep
from 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,//*[idvl]/div[1]/ul/li[contains(.,形容词)]).click()
sleep(5)
driver.quit()上述代码先在搜索框中输入了“storm”然后从匹配的选项中选择了带有“形容词”字样的选项再进行搜索操作搜索“storm形容词”。
固定选择某一个位置的选项。 Ajax悬浮框的内容会发生变化根据一定的推荐算法而某些时候你可能只是想固定选择悬浮框中的某一个选项如第二项这时可以参考下面的代码
from selenium import webdriver
from 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,//*[idvl]/div[1]/ul/li[2]).click() # li[2]选择第2项
sleep(5)
driver.quit()2.滑动滑块操作
在实际项目中你可能会遇到以下场景在某些页面中需要从左到右拖动滑块进行验证然后才能进行下一步操作。 可以看出无论是滑块本身还是滑块所在的框都是div元素。
操作思路 定位到滑块。计算滑块框的宽度。然后将滑块向右拖动框的宽度的距离。
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import Bydriver webdriver.Chrome()
driver.get(https://passport.ctrip.com/user/reg/home)
driver.find_element(By.XPATH,//*[idagr_pop]/div[3]/a[2]).click()
sleep(2)
# 获取滑块
slider driver.find_element(By.XPATH,//*[idslideCode]/div[1]/div[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()