我一直试图组合一个Python脚本,该脚本导入并运行Selenium来模拟浏览器浏览网页,并且随着相关页面的动态更新(ajax),某些元素将变为可用并被破坏,因此,为了处理click()
或send_keys()
到不再存在的元素的情况,我正在尝试实现try: except:
来解决此问题-代码示例如下:
SuspendedBanner = driver.find_elements_by_class_name('suspended-label ng-scope')
CheckInPlay = driver.find_elements_by_class_name('market-status-label')
if len(SuspendedBanner) == 0 and CheckInPlay(0).text == 'In-Play':
try:
driver.find_elements_by_class_name('rh-back-all-label ng-binding')(0).click()
PriceInputs = driver.find_elements_by_class_name('find_elements_by_class_name')
if len(PriceInputs) > 4:
for PriceInput in PriceInputs:
PriceInput.send_keys('1.01')
BackButtons = driver.find_elements_by_class_name('back mv-bet-button back-button back-selection-button')
if len(BackButtons) == Len(PriceInputs):
for Button in BackButtons:
Prices.append(Button.find_elements_by_class_name('bet-button-price')[0].text
#print(Prices)
except:
pass
答案 0 :(得分:1)
您缺少括号。在此处显示的第一行中,有两个开括号,但只有一个闭括号。
Prices.append(Button.find_elements_by_class_name('bet-button-price')[0].text
#print(Prices)
except:
pass
通常情况下,语法错误消息会指向带有括号(或]
等)的后一行。