मैं इस वेब पेज पर सभी लेख निकालने की कोशिश कर रहा हूं, लेकिन मैं सेलेनियम को पेज के अंत में "जारी रखें" बटन पर क्लिक नहीं कर सकता। मैंने कई अलग-अलग संस्करणों की कोशिश की है, लेकिन मैं सिर्फ एक ही पोस्ट करूंगा, जो कम से कम कोई त्रुटि नहीं फेंकता है ...:

import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

addr = 'https://www.armani.com/de/armanicom/giorgio-armani/f%C3%BCr-ihn/alle-kleidungsstucke'

options = webdriver.ChromeOptions()
options.add_argument("--enable-javascript")
driver = webdriver.Chrome(options=options)

driver.get(addr)

ContinueButton = driver.find_element_by_xpath("//li[@class='nextPage']")
# gives: No error, but also no effect

# ContinueButton = driver.find_element_by_xpath("/html/body/div[3]/main/section/div[2]/div[1]/ul/li[8]/a/span[2]")
# gives: NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[3]/main/section/div[2]/div[1]/ul/li[8]/a/span[2]"}

#ContinueButton = driver.find_element_by_css_selector(".nextPage > a:nth-child(1)")
# gives: NoSuchElementException: no such element: Unable to locate element: 
 
ActionChains(driver).move_to_element(ContinueButton).click()
time.sleep(5)

क्रोम इंजन v86 है, लेकिन मैंने फ़ायरफ़ॉक्स के साथ भी कोशिश की है (और असफल)।

0
Steppenwolf 16 नवम्बर 2020, 17:43

2 जवाब

सबसे बढ़िया उत्तर

आप तत्व के क्लिक करने योग्य होने की प्रतीक्षा करना चाहते हैं और फिर उस पर क्लिक करने का प्रयास करना चाहते हैं: मैं सेलेनियम आयात वेबड्राइवर से selenium.webdriver.common.action_chains आयात एक्शनचेन से समय आयात करता हूं

addr = 'https://www.armani.com/de/armanicom/giorgio-armani/f%C3%BCr-ihn/alle-kleidungsstucke'

options = webdriver.ChromeOptions()
options.add_argument("--enable-javascript")
driver = webdriver.Chrome(options=options)

driver.get(addr)

ContinueButton = WebDriverWait(driver, 20).until(
EC.element_to_be_clickable((By.XPATH, "//li[@class='nextPage']/a")))

ActionChains(driver).move_to_element(ContinueButton).click()
time.sleep(5)
0
DMart 17 नवम्बर 2020, 03:26

समस्या यह है कि आप li तत्व पर क्लिक कर रहे हैं।

आपका क्लिक प्राप्त हो गया है लेकिन कोई कार्रवाई नहीं की गई है, ऐसा करने के लिए आपको li के बाद a तत्व को लक्षित करना होगा।

ये कोशिश करें:

ContinueButton = driver.find_element_by_xpath("//li[@class='nextPage']/a")

-2
Syed Azeem Javed 16 नवम्बर 2020, 18:24