这是代码: Gen_enemy = driver.find_element_by_class_name('kt-callout__action'(
for i in range(5):
time.sleep(y)
Gen_enemy.click()
time.sleep(y)
driver.find_element_by_xpath('/html/body/div[6]/div/div[3]/button[1]').click()
time.sleep(b)
driver.find_element_by_xpath('/html/body/div[6]/div/div[3]/button[1]').click()
time.sleep(y)
driver.find_element_by_xpath('//*[@id="attackButton"]').click()
inBattle = True
while inBattle == True:
time.sleep(Q)
try:
time.sleep(a)
Rewards = driver.find_element_by_xpath('/html/body/div[6]/div/div[3]/button[1]')
Rewards.click()
time.sleep(a)
driver.find_element_by_css_selector('#success-killed > div.alert-text > div > a').click()
time.sleep(b)
inBattle = False
except :
driver.find_element_by_xpath('//*[@id="attackButton"]').click()
错误: selenium.common.exceptions.StaleElementReferenceException: 消息: 过时的元素引用: 元素未附加到页面文档
我曾经遇到过这个问题,我的解决方案是再次声明对象,因为类已更新。
这是我使用过的解决方案。
campo_de_comentário = driver.find_element_by_class_name("Ypffh")
campo_de_comentário.click()
campo_de_comentário = driver.find_element_by_class_name("Ypffh.focus-visible")
campo_de_comentário.send_keys(text)
我的代码试图按Instagram图片的类名查找评论字段。单击它后,类名发生了变化。因此,当我尝试发送密钥时,我遇到了与您相同的错误。
后来使用硒,我发现搜索元素的最佳方法是通过XPATH。它对我来说永远不会失败。