填写表单后,我试图点击以下提交按钮:
<div class="tl_formbody_submit">
<div class="tl_submit_container">
<input type="submit" class="tl_submit" value="Einstellungen speichern" onclick="Backend.getScrollOffset()">
</div>
代码是:
browser.find_by_xpath('//input[@class="tl_submit"]').click()
堆栈跟踪说,该元素不可见 - 但为什么?
谢谢!
答案 0 :(得分:1)
# import options
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
# desired url link
URL = 'www.path.com'
#driver & settings
driver = webdriver.Chrome('PATH TO CHROMEDRIVER.EXE')
driver.get('URL')
driver.delete_all_cookies
#find element & click
driver.find_element_by_id("Einstellungen speichern").click()
答案 1 :(得分:0)
如果stacktrace表示元素不可见,则表示当您尝试查找时它不可见。
可能需要一些操作才能使其可见(某些ajax请求),或者您可能需要等待一段时间才能单击它。
你可以使用如下所述的显式等待。
submit_button = WebDriverWait(driver, 30).until(EC.visibility_of_any_elements_located((By.XPATH, "//input[@class='tl_submit']")))
submit_button.click()
答案 2 :(得分:0)