在网站上,输入标签为:
<input value="Submit" type="submit">
如何使硒选择此输入按钮?
我尝试过:
browser.find_element_by_css_selector("input[value='submit']")
但是它找不到输入按钮。
答案 0 :(得分:1)
我将使用此xpath查找上面的 输入 :
browser.find_element_by_xpath(".//input[@value='Submit' and @type='submit']")
如果有多个具有相同 属性 的输入,您可能还需要按索引查找。
更新:
由于找不到元素,并且页面上没有 iframe ,因此,如果有任何 AJAX /,我建议使用WebDriverWait
在页面加载完成后 后创建输入的JavaScript /动态加载事件 。
将它们导入到脚本中
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
然后尝试:
wait = WebDriverWait(browser, 10)
wait.until(EC.element_to_be_clickable((By.XPATH, ".//input[@value='Submit' and @type='submit']"))).click()
如评论中所述,您必须切换到新选项卡。在Selenium中执行此操作的方法是:
#this will switch to the newest tab
browser.switch_to_window(browser.window_handles[-1])
答案 1 :(得分:0)
请确保输入代码位于iframe中?
如果在iframe中使用,则应使用
browser.switch_to.frame('iframe's id')
进入iframe,如果输入此框架,则可以使用xpath或css选择器找到所需的标签。
答案 2 :(得分:0)
有一个明显的拼写错误,“ Submit”值在源代码中带有大写的S,但是在选择器中提供了小写字母。试试这个吧!
browser.find_element_by_css_selector("input[value='Submit']")