单击没有使用 selenium 的 id 的提交按钮
Click on submit button which does not have an id using selenium
我尝试使用提交功能点击提交按钮,但看不到结果。我要抓取的网站是
提交按钮具有以下属性
<input type="submit" value="Submit">
我用过这个.execute
脚本
Resultbrowser.execute_script("""document.getElementById("myForm").onsubmit();""")
不知道网站有没有on submit功能
完整代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
link = 'http://results.jntuh.ac.in/jsp/SearchResult.jsp?degree=btech&examCode=1442&etype=r17&type=intgrade'
hallticket = "1780XXXXXX"
dobval = '1998-03-01'
with webdriver.Chrome() as Resultbrowser:
Resultbrowser.get(link)
Hallfield = Resultbrowser.find_element_by_name("htno")
Hallfield.send_keys(hallticket)
Hallfield.send_keys(Keys.RETURN)
dob = Resultbrowser.find_element_by_class_name('hasDatepicker')
dob.send_keys(dobval)
dob.send_keys(Keys.RETURN)
dob.send_keys(Keys.TAB)
time.sleep(2)
Resultbrowser.execute_script("""
document.querySelector("#txtInput").value = document.querySelector("#txtCaptcha").value
""")
time.sleep(5)
Resultbrowser.execute_script("""document.getElementById("myForm").onsubmit();""")
time.sleep(10)
你快到了。通过 id
找到整个表单元素,即 myForm
,然后使用 .submit
方法提交:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
link = 'http://results.jntuh.ac.in/jsp/SearchResult.jsp?degree=btech&examCode=1442&etype=r17&type=intgrade'
hallticket = "1780XXXXXX"
dobval = '1998-03-01'
with webdriver.Chrome() as Resultbrowser:
Resultbrowser.get(link)
Hallfield = Resultbrowser.find_element_by_name("htno")
Hallfield.send_keys(hallticket)
Hallfield.send_keys(Keys.RETURN)
dob = Resultbrowser.find_element_by_class_name('hasDatepicker')
dob.send_keys(dobval)
dob.send_keys(Keys.RETURN)
dob.send_keys(Keys.TAB)
time.sleep(2)
Resultbrowser.execute_script("""
document.querySelector("#txtInput").value = document.querySelector("#txtCaptcha").value
""")
time.sleep(5)
form = Resultbrowser.find_element_by_id("myForm")
form.submit()
time.sleep(10)
或使用您已经编写的.execute_script
-方法:
Resultbrowser.execute_script("""document.getElementById("myForm").submit();""")
即将 onsubmit
替换为 submit
.
我尝试使用提交功能点击提交按钮,但看不到结果。我要抓取的网站是
提交按钮具有以下属性
<input type="submit" value="Submit">
我用过这个.execute
脚本
Resultbrowser.execute_script("""document.getElementById("myForm").onsubmit();""")
不知道网站有没有on submit功能
完整代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
link = 'http://results.jntuh.ac.in/jsp/SearchResult.jsp?degree=btech&examCode=1442&etype=r17&type=intgrade'
hallticket = "1780XXXXXX"
dobval = '1998-03-01'
with webdriver.Chrome() as Resultbrowser:
Resultbrowser.get(link)
Hallfield = Resultbrowser.find_element_by_name("htno")
Hallfield.send_keys(hallticket)
Hallfield.send_keys(Keys.RETURN)
dob = Resultbrowser.find_element_by_class_name('hasDatepicker')
dob.send_keys(dobval)
dob.send_keys(Keys.RETURN)
dob.send_keys(Keys.TAB)
time.sleep(2)
Resultbrowser.execute_script("""
document.querySelector("#txtInput").value = document.querySelector("#txtCaptcha").value
""")
time.sleep(5)
Resultbrowser.execute_script("""document.getElementById("myForm").onsubmit();""")
time.sleep(10)
你快到了。通过 id
找到整个表单元素,即 myForm
,然后使用 .submit
方法提交:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
link = 'http://results.jntuh.ac.in/jsp/SearchResult.jsp?degree=btech&examCode=1442&etype=r17&type=intgrade'
hallticket = "1780XXXXXX"
dobval = '1998-03-01'
with webdriver.Chrome() as Resultbrowser:
Resultbrowser.get(link)
Hallfield = Resultbrowser.find_element_by_name("htno")
Hallfield.send_keys(hallticket)
Hallfield.send_keys(Keys.RETURN)
dob = Resultbrowser.find_element_by_class_name('hasDatepicker')
dob.send_keys(dobval)
dob.send_keys(Keys.RETURN)
dob.send_keys(Keys.TAB)
time.sleep(2)
Resultbrowser.execute_script("""
document.querySelector("#txtInput").value = document.querySelector("#txtCaptcha").value
""")
time.sleep(5)
form = Resultbrowser.find_element_by_id("myForm")
form.submit()
time.sleep(10)
或使用您已经编写的.execute_script
-方法:
Resultbrowser.execute_script("""document.getElementById("myForm").submit();""")
即将 onsubmit
替换为 submit
.