簡體   English   中英

Python selenium - 找不到元素

[英]Python selenium - cant find element

我對硒並不完全陌生,但我無法解決這個問題。 我應該做一個籃子自動化,但我在第一頁遇到了麻煩。

我應該首先填寫三個輸入框以繼續執行實際訂單,但我在第一次輸入時失敗。 我們幾乎每個輸入都有唯一的 id,所以應該不難找到它,但不知何故。

<input class="form-input--text" data-validitytext-empty="Položka je povinná.<br>Prosíme, vyplňte ji." data-validitytext-invalid="Položka má špatný formát.<br>Prosíme, opravte ji." data-label-selector="closest(.form-item--required)->find(label.form-label)" id="surname003" name="Prijmeni" type="text" value="" data-form-required="true" xpath="1">

這是第一個輸入是如何用“surname003”的 id 描述的,所以我的第一次嘗試是這樣做

driver.find_element_by_xpath("//*[@id='surname003']").send_keys("text")

然后我嘗試使用 id 訪問它

driver.find_element_by_id("surname003").send_keys("text")

這沒有任何效果,所以我試圖獲得它的完整 xpath 但這沒有用。

這是代碼整體的樣子

driver = webdriver.Chrome(executable_path=r"C:\Users\KDK\Desktop\Selenium setup\chromedriver.exe")
driver.get(URL2)
driver.maximize_window()
driver.implicitly_wait(10) 
driver.find_element_by_xpath("//*[@id='surname003']").send_keys("test")
driver.find_element_by_xpath("//*[@id='phone03']").send_keys(telefon)
driver.find_element_by_xpath("//*[@id='email03']").send_keys(email)

這是我得到的錯誤

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:

這是我正在使用的頁面:

https://www.nev-dama.cz/zima/rakousko/lungau/residence-carpe-solem-mariapfarr/rezervaceNova?termin=2021-01-10&typologie=[26225]&delka=3

我在想,定位元素的問題是否與您可以在預訂頁面中的兩個“窗口”之間切換的事實有關。 您可以在“不具有約束力的預訂”和“在線購買”之間切換,我不知道這是否會以某種方式更難到達元素。

我希望有人能幫我解決這個問題。 如果有什么不清楚,請問我並感謝您的閱讀,並提前感謝您的一些答案! :)

他們幾乎沒有具有相同 id 的輸入,而且第一個來自另一個來自。 但它不能引發NoSuchElementException 像這樣嘗試 XPATH //div[@id="koupit-online"]//*[@id='surname003'] 您需要將此部分//div[@id="koupit-online"]到所有 xpath 或用作上下文

form = driver.find_element_by_xpath("//div[@id='koupit-online']")
form.find_element_by_xpath(".//input[@id='surname003']").send_keys("test")
form.find_element_by_xpath(".//input[@id='phone03']").send_keys(telefon)
form.find_element_by_xpath(".//input[@id='email03']").send_keys(email)

第二個問題可能是 chromedriver。 當我將 chrome 與 selenium 一起使用時,我無緣無故地得到了這個異常。 我將瀏覽器更改為 firefox 和 geckodriver,這再也沒有發生過

暫無
暫無

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

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