我正在使用Python/Selenium來訪問一個網頁上的無序串列。我使用了find_element_by_xpath來正確識別我所尋找的div(text "$x.xx"幾乎總是唯一的)。
然后,我想指示代碼按下位于我所確定的 div 中的購買按鈕(鑒于同一串列中還有 100 個其他的 "購買 "按鈕)。
但是有一個條件,在下面的兩個例子中,其中一個'a class'包括文本 "disabled"。如果帶有正確文本的 div 已被識別,但是'a class'包括 "disabled",我希望腳本能夠回圈并在 1 秒后再次運行。
綜上所述,如果我在搜索下面的50美元,代碼將回圈,如果我在搜索30美元,它將點擊()該特定div中的 "購買 "按鈕。
如果能得到任何幫助,我們將不勝感激。
(如果下面的格式不正確,請原諒,我是第一次發帖!)
Python代碼:
from selenium import webdriver
PATH = "C:UsersabcDesktopAutomationchromedriver.exe"/span>
driver = webdriver.Chrome(PATH)
findClick = driver.find_element_by_xpath("//*[text()='30.00']"/span>)
網頁:
<ul>
<li class="List-row"/span>>
<div class="List-rowContent Market"/span>>
<div class="Market-item Total"><span>$50.00</span><;/div>
<div class="Market-item Buy" >
<a class="Button-small Market-Buy disabled" data-dialog="#buy_start"> Purchase</a> </div> </div> < /li>。
<li class="List-row">
<div class="List-rowContent Market"/span>>
<div class="Market-item Total"><span>$30.00</span>< /div>
<div class="Market-item Buy" >
<a class="Button-small Market-Buy" data-dialog="#buy_start"> Purchase</a> < /div> < /div> < /li>
uj5u.com熱心網友回復:
基于你所分享的HTML,下面的xpath
//span[text()='$30.00']/./following-sibling::div/a[text()='Purchase']
根據價格文本來表現購買按鈕,你可以把它改為50美元,并在HTMLDOM中檢查。
現在來看看這個問題 :
但是有一個條件,在下面的兩個例子中,其中的一個 a類 "包括文本 "disabled"。如果帶有正確文本的 div 文本已經被識別,但'a類'包括 "disabled",我 我希望腳本能夠回圈并在 1 秒后再次運行。
如果我理解正確的話,下面的代碼應該可以作業。
try:
if len(driver.find_elements(By.XPATH, "//span[text()='$30. 00']/.../following-sibling::div/a[text()='Purchase']")) > 0:
print("30.00美元是可見的,所以機器人應該直接點擊它")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='30.00']/.../following-sibling::div/a[text()='Purchase']"/span>)) .click()
else:
print("30.00美元不可見,所以在這里回圈")
for i in range(100)。
print("Inside else for loop for the nth time"/span>, i)
time.sleep(20) # 對于每個迭代,等待20秒。
#代碼邏輯在此。
except:
print("Something went wrong")
pass("出錯了")
匯入 :
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/328428.html
標籤:
