我使用的是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