成功登录网站后,我无法定位页面上的元素。
我的目标是单击按钮来参与提议的活动。该按钮仅在午夜之后出现,我不想留在电脑前点击参与按钮。
使用下面的 python 脚本,我已经可以登录并连接到网站了:
# find username field and send the username itself to the input field
browser.find_element("id", "login").send_keys(username)
# find password input field and insert password as well
browser.find_element("id", "motdepasse").send_keys(password)
# click login button
browser.find_element(By.CLASS_NAME, "submit").click()
出现新页面,但我现在可以单击参与按钮
这是页面代码
<li class="td" style="width:5%;">
ul class="BtnsIco">
<li class="ajaxOpen user" data-url="_Programme_lstparticipants&id=3593" title="Liste des participants" data-titre="Liste des participants"></li> <li class="bouton partAdd" data-url="_Programme_inscription&id=3593" title="S'inscrire" data-titre="S'inscrire"></li>
</ul>
</li>
我尝试了几种方法来单击“bouton partAdd”类,但找不到像我在第一页连接上所做的那样检测按钮的 XPATH 方法。
try:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable(By.PARTIAL_LINK_TEXT, 'inscrire'))
PartAdd_link = browser.find_element(By.PARTIAL_LINK_TEXT, 'inscrire')
print(PartAdd_Link)
except:
print("Could not get PartAdd_Link")
pass
try:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable(By.CLASS_NAME, 'bouton partAdd'))
content = browser.find_element(By.CLASS_NAME, 'bouton partAdd')
print(content.CLASS_NAME)
except:
print("Could not get Class_Name")
pass
我的代码总是出现异常。我尝试了其他方法但没有成功。我添加了 WebdriverWait 安全性,但它对结果没有任何影响。
我没有网络编程经验,所以如果有人能给我一种找到或理解问题的方法,我将不胜感激。
提前谢谢您
您好,成功登录网站后,我无法在页面上定位元素。
我的目标是单击按钮来参与提议的活动。该按钮仅在午夜之后出现,我不想留在电脑前点击参与按钮。
使用下面的 python 脚本,我已经可以登录并连接到网站了:
# find username field and send the username itself to the input field
browser.find_element("id", "login").send_keys(username)
# find password input field and insert password as well
browser.find_element("id", "motdepasse").send_keys(password)
# click login button
browser.find_element(By.CLASS_NAME, "submit").click()
# wait for 10sec to load new page
time.sleep(10)
出现新页面,但我现在可以单击参与按钮
这是页面代码
<li class="td" style="width:5%;">
ul class="BtnsIco">
<li class="ajaxOpen user" data-url="_Programme_lstparticipants&id=3593" title="Liste des participants" data-titre="Liste des participants"></li> <li class="bouton partAdd" data-url="_Programme_inscription&id=3593" title="S'inscrire" data-titre="S'inscrire"></li>
</ul>
</li>
我尝试了几种方法来单击“bouton partAdd”类,但找不到像我在第一页连接上所做的那样检测按钮的 XPATH 方法。
try:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable(By.PARTIAL_LINK_TEXT, 'inscrire'))
PartAdd_link = browser.find_element(By.PARTIAL_LINK_TEXT, 'inscrire')
print(PartAdd_Link)
except:
print("Could not get PartAdd_Link")
pass
try:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable(By.CLASS_NAME, 'bouton partAdd'))
content = browser.find_element(By.CLASS_NAME, 'bouton partAdd')
print(content.CLASS_NAME)
except:
print("Could not get Class_Name")
pass
我的代码总是出现异常。我尝试了CSS等其他方法,但没有成功。我添加了 WebdriverWait 安全性,但它对结果没有任何影响。
我没有网络编程经验,所以如果有人能给我一种找到或理解问题的方法,我将不胜感激。
提前谢谢您
如果您的用例是单击午夜后出现的按钮。我的方法是使用 python 中的日期时间库。
from datetime import datetime
import time
def midnightChecker(day):
while day+1 != datetime.now().day:
time.sleep(5)
print(f'{23-datetime.now().hour} hour {59-datetime.now().minute} minutes and {59-datetime.now().second} seconds left till midnight')
continue
midnightChecker(datetime.now().day)
这个循环将在午夜中断。您可以添加此检查器。 尝试单击发布此按钮,如果您仍然收到错误消息,请分享您收到的错误消息。
在你的异常块中,而不是只写
except:
写
except Exception as e:
print(e)
这将打印引发的异常。