在网站上,输入标签是这样的:
<input value="Submit" type="submit">
如何让selenium选择这个输入按钮?
我尝试过这个:
browser.find_element_by_css_selector("input[value='submit']")
但是找不到输入按钮。
最佳答案
我将使用此 xpath 来查找上述输入:
browser.find_element_by_xpath(".//input[@value='Submit' and @type='submit']")
如果多个输入具有相同的属性,您可能还需要按索引查找。
更新:
由于您无法找到该元素,并且页面上没有 iframe,因此我建议使用 WebDriverWait
,以防出现 >页面加载完成后创建输入的 AJAX/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])
关于Python Selenium如何找到输入按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51831970/