for i in range(20):
try:
#省略一些代码
browser.execute_script('window.scrollBy(0,3200)') #滚到标题框和正文框可见
time.sleep(sleep_5)
#输入标题
browser.find_element_by_xpath('//*[@id="xeditor_title"]').click()
browser.find_element_by_xpath('//*[@id="xeditor_title"]').clear()
browser.find_element_by_xpath('//*[@id="xeditor_title"]').send_keys(title)
time.sleep(sleep_1)
#输入正文
browser.switch_to.frame(browser.find_element_by_xpath('//*[@id="xeditor_editor_body_wrap"]/div[3]/div[2]/div/iframe'))
browser.find_element_by_xpath('/html/body').click()
browser.find_element_by_xpath('/html/body').clear()
now = time.strftime('%Y-%m-%d %H:%M:%S')
browser.find_element_by_xpath('/html/body').send_keys(keys_sent+'\n'+now)
browser.switch_to.default_content()
except:
continue
try:
#滚到确保提交按钮可见
browser.execute_script('window.scrollBy(0,200)')
#确保加载时间
time.sleep(sleep_5)
#按xpath、css、id定位操作都报错
browser.find_element_by_xpath('//*[@id="btn_publish"]').click()
except:
time.sleep(sleep_300)
核心代码和网页源代码如上,不知道为什么按钮一直点击不了。
browser.switch_to.default_content()
此方法用于从所有帧中移出并在页面上切换焦点。一旦我们搬出,它将无法访问页面中框架内的元素。
webdriver窗口最大化看看
browser=webdriver.Chrome()
browser.maximize_window()
“element not interactable”:元素不可交互
原因可能有多种:
1、检查元素的定位(XPATH、CSS_SELECTOR内的内容)是否写正确
2、代码中元素进行获取的时候查看是否已经加载出来,等待元素加载可以使用显式等待
element = WebDriverWait(browser,20,0.5).until(EC.presence_of_element_located((By.XPATH,'//*[@id="app"]/div')))
3、元素在页面上不可见,需要拖动下拉框才能看到这个元素,此时需要让元素在页面上可见,才可操作
4、可能是页面元素被iframe标签包裹起来了:如163邮箱登录
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("https://mail.163.com/")
driver.find_element_by_link_text("密码登录").click()
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@scrolling="no"]')) #需要定位到iframe标签
driver.find_element_by_xpath('//input[@name="email"]').send_keys("lmsgau")
driver.find_element_by_link_text("登 录").click() #源代码中若是有空格,此处也必须有空格
sleep(10)
driver.quit()
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632