Fei*_*tor 1 python selenium web
当访问变量“url”中的网站时,它会自动接受 cookie,写入日期,然后单击搜索,但一旦这样做,就会显示 98 个应用程序,使其单击第一个应用程序。我做了它,所以它返回,重做它,所以它应该单击第二个应用程序,而不是返回一个错误。
有人可以尝试帮助我的脚本返回到最后一页并单击第二个应用程序吗?
错误:
[8796:7240:0913/132540.843:ERROR:install_util.cc(603)] Failed to read HKLM\SOFTWARE\Policies\Google\Chrome\MachineLevelUserCloudPolicyEnrollmentToken: The system cannot find the file specified. (0x2)
DevTools listening on ws://127.0.0.1:51391/devtools/browser/0f49248f-88a3-48b4-bf7c-975f7b52185a
Worked???
Traceback (most recent call last):
File "C:\Users\DBaldwin\Desktop\sel.py", line 34, in <module>
e.click()
File "C:\Users\DBaldwin\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\Users\DBaldwin\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 628, in _execute
return self._parent.execute(command, params)
File "C:\Users\DBaldwin\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 320, in execute
self.error_handler.check_response(response)
File "C:\Users\DBaldwin\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
(Session info: chrome=68.0.3440.106)
(Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.16299 x86_64)
Run Code Online (Sandbox Code Playgroud)
代码:
import time
from bs4 import BeautifulSoup
from selenium import webdriver
url = "http://www.fareham.gov.uk/casetrackerplanning/applicationsearch.aspx"
driver = webdriver.Chrome(executable_path=r"C:\Users\DBaldwin\Desktop\chromedriver.exe")
driver.get(url)
driver.find_element_by_id("lnkAllowCookies").click()
def rerun():
driver.find_element_by_id("BodyPlaceHolder_uxLinkButtonShowAdvancedSearch").click()
time.sleep(3)
driver.find_element_by_id("uxStartDateDecisionTextBox").click()
driver.find_element_by_id("uxStartDateDecisionTextBox").clear()
driver.find_element_by_id("uxStartDateDecisionTextBox").send_keys("1/8/2018")
driver.find_element_by_id("uxStopDateDecisionTextBox").click()
driver.find_element_by_id("uxStopDateDecisionTextBox").clear()
driver.find_element_by_id("uxStopDateDecisionTextBox").send_keys("308/2018")
driver.find_element_by_id("BodyPlaceHolder_uxButtonSearch").click()
time.sleep(3)
rerun()
elements = driver.find_elements_by_class_name("searchResultsCell")
for e in elements:
e.click()
driver.back()
rerun()
print("Worked???")
Run Code Online (Sandbox Code Playgroud)
elements在您离开该页面后,主页上定义的列表就会变得过时。您可以尝试更换
elements = driver.find_elements_by_class_name("searchResultsCell")
for e in elements:
e.click()
Run Code Online (Sandbox Code Playgroud)
和
elements_len = len(driver.find_elements_by_class_name("searchResultsCell"))
for index in range(elements_len):
driver.find_elements_by_class_name("searchResultsCell")[index].click()
Run Code Online (Sandbox Code Playgroud)
另外,如果具有类名的元素"searchResultsCell"是链接,您可以执行以下操作:
links = [link.get_attribute("href") for link in driver.find_elements_by_class_name("searchResultsCell")]
for link in links:
driver.get(link)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3015 次 |
| 最近记录: |