51Testing软件测试论坛

标题: python selenium webDriverWait 在多线程情况下失效一问 [打印本页]

作者: 测试积点老人    时间: 2022-5-11 10:54
标题: python selenium webDriverWait 在多线程情况下失效一问
各位好我有个问题想要询问
我使用python selenium thread模拟10个等同开启十个浏览页(webDriver)
但是发现在这个代码下
我第一个webDriver按下了按钮1
但是第二个第三个页面还没有点击按钮1
但是好像由于第一个通过了按钮1的那段代码
后面二,三个webDriver都会跳过点击按钮1这步直接到检查按钮2元素的地方(webDriverWait)
報告錯誤
消息:沒有這樣的元素:無法找到元素:{"method":"xpath","selector":"//*[/div/div[2]/div[1]/div[6]/div"}
大概就是因为第2,3个页面还没点击按钮跳转到下一页所以找不到元素
所以导致他TimeOut报错跳出
请问我该如何处理这个问题
麻烦了 感谢
  1. from datetime import datetime
  2. from selenium import webdriver
  3. from selenium.webdriver.support.wait import WebDriverWait
  4. from selenium.webdriver.support import expected_conditions as EC
  5. from selenium.webdriver.common.by import By
  6. from selenium.webdriver.chrome.service import Service
  7. from selenium.webdriver.chrome.options import Options
  8. import threading

  9. def selenium_mult():
  10.     chrome_options = Options()
  11.     chrome_options.add_argument("--headless")
  12.     ser=Service('./chromedriver')
  13.     driver = webdriver.Chrome(service = ser,options=chrome_options)
  14.     driver.set_window_size(540,480)
  15.     driver.get('https:/website')

  16.     WebDriverWait(driver,10,1).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="btn"]/div/div[3]/button[1]')))
  17.     driver.find_element(By.XPATH, '//*[@id="btn"]/div/div[3]/button[1]').click()  #click button 1
  18.     Ftime = datetime.now()

  19.     WebDriverWait(driver,30,1).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="btn"]/div/div[2]/div[1]/div[6]/div')))
  20.     driver.find_element(By.XPATH, '//*[@id="btn"]/div/div[2]/div[1]/div[6]/div').click() #click button 2

  21. if __name__ == '__main__':
  22.     for i in range(10):
  23.         t = threading.Thread(target=selenium_mult)
  24.         t.start()
复制代码



作者: bellas    时间: 2022-5-12 11:04
等大神
作者: qqq911    时间: 2022-5-12 11:48
分线程做
作者: jingzizx    时间: 2022-5-12 16:22
线程应用有问题吧




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2