簡體   English   中英

動態 ID Selenium Python Chrome

[英]Dynamic ID Selenium Python Chrome

我正在嘗試在亞馬遜網站上進行測試自動化,到目前為止一切順利,除了 ID 動態更改的這一部分。

我要做的是單擊“贊助產品”部分的下一個按鈕。

這是我的代碼

first_product="https://www.amazon.com/Love-KANKEI-Floating-Shelves-Bathroom-Carbonized/dp/B07XDHK395/ref=sr_1_18?dchild=1&keywords=rustic+wood&qid=1600334401&sr=8-18"
first_product_xpath = "//*[@id='a-autoid-21']"

first_sponsored_products = driver.find_element_by_xpath("//*[@id='sp_detail-none']/div[1]/div[1]/h2")
driver.execute_script("arguments[0].scrollIntoView();", first_sponsored_products)
time.sleep(2)
select_first_next_sponsored = driver.find_element_by_xpath(first_product_xpath)
select_first_next_sponsored.click()

在此處輸入圖片說明

我想不出還有什么其他方法可以使用,因為我試圖點擊的這個按鈕似乎沒有任何獨特的東西,除了 ID 並且它動態變化,所以我不得不一次又一次地檢查當前 ID 並希望它在腳本的下一次運行時不會再次更改。

請幫忙。 謝謝你。

由於某些原因,我無法在我的 chrome 中查看贊助項目 div。 所以我嘗試了“查看此項目的客戶也查看了”div。 對於本節,div id 是“desktop-dp-sims_session-similarities-sims-feature”,您的下一個按鈕包含“a-carousel-goto-nextpage”的類名。 所以我們可以嘗試這樣的事情,

first_product_xpath = "//div[@id='desktop-dp-sims_session-similarities-sims-feature']//a[contains(@class, 'a-carousel-goto-nextpage')]"

因此,更新“與此項目相關的贊助產品”div 的相應 div id 並嘗試。

此 xpath 為您提供該會話中的所有產品

//div[@id="sp_detail-none"]/descendant::li

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM