我尝试使用提交功能单击提交按钮,但看不到结果。我要抓取的网站是
提交按钮有以下属性
<input type="submit" value="Submit">
我用过这个
.execute
脚本
Resultbrowser.execute_script("""document.getElementById("myForm").onsubmit();""")
我不知道该网站是否有提交功能
整个代码:
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)
可以使用多种方法在 Selenium 中单击没有 ID 的提交按钮:
1. 使用 XPath:
- XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言。可以使用 XPath 根据其类型、值或周围元素定位提交按钮。
python
Resultbrowser.find_element_by_xpath("//input[@value='Submit']").click()
此代码将找到其值为“Submit”的第一个
input
元素并点击它。
2. 使用 CSS 选择器:
- CSS 选择器用于基于元素的属性、类、ID 等选择 HTML 元素。
python
Resultbrowser.find_element_by_css_selector("input[type='submit']").click()
此代码将找到其类型为“submit”的第一个
input
元素并点击它。
3. 如果只有一个提交按钮:
- 如果页面上只有一个提交按钮,则可以使用以下代码直接定位并点击它:
python
Resultbrowser.find_element_by_tag_name("button").click()
修改后的代码:
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)
# 使用 XPath 点击提交按钮
Resultbrowser.find_element_by_xpath("//input[@value='Submit']").click()
time.sleep(10)
请选择最适合情况的方法。
标签:python,selenium-webdriver,web-scraping From: 66849188