动作链不起作用,除非我手动刷新Selenium浏览器



我使用的是selenium,在自动化过程中,这段代码只有在手动刷新浏览器时才能工作。

如果我做driver.get("URL"),或driver.refresh(),它没有帮助。

from selenium.webdriver.common.action_chains import ActionChains   
elems = driver.find_elements_by_tag_name('div') 
elem = elems[3]
action = ActionChains(driver)
action.click(elem)
action.send_keys("text")
action.perform() 

我已经不能使用elem.send_keys(),它不管怎样都不工作。虽然elem.click()有,但如果elem.send_keys()没有,那就没有帮助。

我认为在这种情况下可以使用显式等待:

from selenium.webdriver.common.action_chains import ActionChains   
wait = WebDriverWait(driver, 50)
elems = driver.find_elements_by_tag_name('div') 
elem = elems[3]
action = ActionChains(driver).move_to_element(elem).perform()
wait.until(EC.visibility_of((elem))).click()
time.sleep(2)
wait.until(EC.visibility_of((elem))).send_keys("text")

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

最新更新