簡體   English   中英

使用 selenium python 抓取網頁

[英]Web-scraping with selenium python

我無法抓取具有此格式的頁面class = jss262 jss434 jss263我嘗試單擊一個框並插入特定值,但無論我使用 class、xpath 還是 css 選擇器,都無法識別該元素。

我相信我在這里錯過了一些東西,但不確定它是什么,有沒有辦法修改我的代碼以便我可以訪問這個元素?

在此處輸入圖片說明

我的代碼:

                            try:
                            button2 = WebDriverWait(driver, 10).until(ec.presence_of_element_located((By.CLASS_NAME, 'jss262 jss434 jss263')))
                            button2.click()
                            button2.send_keys(att)
                            driver.implicitly_wait(5)

By.CLASS_NAME只接受一個類,使用css_selector

button2 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.jss262.jss434.jss263')))

Python Selenium,檢查是否<div ...>包含網頁抓取代碼中的單詞</div><div id="text_translate"><p>我正在使用 Selenium 和 BeautifulSoup 運行刮板,我想檢查某個單詞是否在 &lt;div...&gt; 中。</p><p> HTML 代碼片段如下:</p><pre> &lt;div data-asin="0974158232" data-index="0" data-uuid="1f362f6b-dde2-4377-a5f3-518513486b7d" data-component-type="s-search-result" class="s-result-item s-asin sg-col-0-of-12 sg-col-16-of-20 sg-col sg-col-12-of-16" data-component-id="14" data-cel-widget="search_result_0"&gt;&lt;div class="sg-col-inner"&gt; &lt;div data-asin="" data-index="1" class="a-section a-spacing-none s-result-item s-flex-full-width s-border-bottom-none s-widget" data-cel-widget="search_result_1"&gt; &lt;div data-asin="" data-index="2" class="a-section a-spacing-none s-result-item s-flex-full-width s-border-bottom-none s-widget" data-cel-widget="search_result_2"&gt;</pre><p> 首先,我想檢查div data-asin=""是否為空,或者是否有一個字符串,如data-asin="0974158232" 。</p><p> 如果它是空的,我想輸入 &lt;div...&gt; 並查找data-asin 。 div data-asin="" data-index="2"的一個例子是:</p><pre> &gt; &lt;div data-asin="" data-index="2" class="a-section a-spacing-none s-result-item s-flex-full-width s-border-bottom-none s-widget" data-cel-widget="search_result_2"&gt; &gt; &lt;span cel_widget_id="MAIN-SEARCH_RESULTS-2" class="celwidget slot=MAIN template=SEARCH_RESULTS widgetId=fkmr-search-results" data-csa-c-id="9so6vg-imque6-h59746-o5az71" data-cel-widget="MAIN- SEARCH_RESULTS-2"&gt; &gt; &lt;div class="s-result-list sg-row"&gt; &gt; &lt;div class="s-result-item sg-col-16-of-20 sg-col sg-col-8-of-12 sg-col-12-of-16" data-cel- widget="search_result_3"&gt; &gt; &lt;div data-asin="0974158216" data-index="0" data-uuid="99a1b582-2fcb-49b8-8d13-739783e460a5" data-component-type="s-search-result" class="s-result-item s-asin sg-col-0-of-12 sg-col-16- of-20 sg-col sg-col-12-of-16" data-component-id="15" data-cel-widget="search_result_4"&gt;&lt;div class="sg-col-inner"&gt; &gt; &lt;div data-asin="1433692163" data-index="1" data-uuid="8f8bfb8c-6083-4c26-bdd5-3032bcfe4bed" data-component-type="s-search-result" class="s-result-item s-asin sg-col-0-of-12 sg-col-16- of-20 sg-col sg-col-12-of-16" data-component-id="16" data-cel-widget="search_result_5"&gt;</pre><p> 在這里,我想告訴代碼查找data-asin=""並檢查它是否為空字符串。 在這種情況下,它不會為空,因為我們有: &lt;div data-asin="0974158216"和&lt;div data-asin="1433692163"</p><p> 我正在考慮使用 for 循環或 try/except,但我對 Selenium 和 HTML 非常陌生,我不知道如何解決這個問題。 任何形式的幫助將不勝感激。</p></div>

[英]Python Selenium, check if <div ...> contains a word in web-scraping code

暫無
暫無

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

相關問題 Python 網頁抓取 Python 上的網頁抓取 Python Selenium,檢查是否<div ...>包含網頁抓取代碼中的單詞</div><div id="text_translate"><p>我正在使用 Selenium 和 BeautifulSoup 運行刮板,我想檢查某個單詞是否在 &lt;div...&gt; 中。</p><p> HTML 代碼片段如下:</p><pre> &lt;div data-asin="0974158232" data-index="0" data-uuid="1f362f6b-dde2-4377-a5f3-518513486b7d" data-component-type="s-search-result" class="s-result-item s-asin sg-col-0-of-12 sg-col-16-of-20 sg-col sg-col-12-of-16" data-component-id="14" data-cel-widget="search_result_0"&gt;&lt;div class="sg-col-inner"&gt; &lt;div data-asin="" data-index="1" class="a-section a-spacing-none s-result-item s-flex-full-width s-border-bottom-none s-widget" data-cel-widget="search_result_1"&gt; &lt;div data-asin="" data-index="2" class="a-section a-spacing-none s-result-item s-flex-full-width s-border-bottom-none s-widget" data-cel-widget="search_result_2"&gt;</pre><p> 首先,我想檢查div data-asin=""是否為空,或者是否有一個字符串,如data-asin="0974158232" 。</p><p> 如果它是空的,我想輸入 &lt;div...&gt; 並查找data-asin 。 div data-asin="" data-index="2"的一個例子是:</p><pre> &gt; &lt;div data-asin="" data-index="2" class="a-section a-spacing-none s-result-item s-flex-full-width s-border-bottom-none s-widget" data-cel-widget="search_result_2"&gt; &gt; &lt;span cel_widget_id="MAIN-SEARCH_RESULTS-2" class="celwidget slot=MAIN template=SEARCH_RESULTS widgetId=fkmr-search-results" data-csa-c-id="9so6vg-imque6-h59746-o5az71" data-cel-widget="MAIN- SEARCH_RESULTS-2"&gt; &gt; &lt;div class="s-result-list sg-row"&gt; &gt; &lt;div class="s-result-item sg-col-16-of-20 sg-col sg-col-8-of-12 sg-col-12-of-16" data-cel- widget="search_result_3"&gt; &gt; &lt;div data-asin="0974158216" data-index="0" data-uuid="99a1b582-2fcb-49b8-8d13-739783e460a5" data-component-type="s-search-result" class="s-result-item s-asin sg-col-0-of-12 sg-col-16- of-20 sg-col sg-col-12-of-16" data-component-id="15" data-cel-widget="search_result_4"&gt;&lt;div class="sg-col-inner"&gt; &gt; &lt;div data-asin="1433692163" data-index="1" data-uuid="8f8bfb8c-6083-4c26-bdd5-3032bcfe4bed" data-component-type="s-search-result" class="s-result-item s-asin sg-col-0-of-12 sg-col-16- of-20 sg-col sg-col-12-of-16" data-component-id="16" data-cel-widget="search_result_5"&gt;</pre><p> 在這里,我想告訴代碼查找data-asin=""並檢查它是否為空字符串。 在這種情況下,它不會為空,因為我們有: &lt;div data-asin="0974158216"和&lt;div data-asin="1433692163"</p><p> 我正在考慮使用 for 循環或 try/except,但我對 Selenium 和 HTML 非常陌生,我不知道如何解決這個問題。 任何形式的幫助將不勝感激。</p></div> Python Web抓取解決方案 Python網絡抓取到csv 多線程 - 網頁抓取 - Python python 循環用於網絡抓取 在 Canopy 上使用 Python 進行網頁抓取 網頁抓取 Newegg - Python Python網絡抓取表
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM