Как я могу очистить этот сайт с помощью селена в режиме без головы? - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу очистить информацию этого сайта (https://www.monotaro.com/p/8928/5682/) с использованием селена в Ubuntu на докере. Итак, я хочу использовать chromedriver в режиме без головы, но мой сценарий не может получить указанную информацию, когда я использую режим без головы.

Когда я запускаю тестовую программу соскребания без режима безголового просмотра на Mac, я могу получить указанную информацию.

Пожалуйста, помогите мне.

url = "https://www.monotaro.com/p/8928/5682/"
options = webdriver.chrome.options.Options()
#options.add_argument('--headless') # when I use headless mode, I can't get the information.
#options.add_argument('--disable-gpu')
self.browser = webdriver.Chrome("/.../chromedriver",chrome_options=options)
self.browser.get(url)
self.browser.implicitly_wait(10)

self.html = self.browser.page_source
self.soup = BeautifulSoup(self.html, "html.parser")

brand = self.soup.find("span", class_="itd_brand")
print(brand)
brand = brand.get_text().replace('\n','')
print(brand)

Когда я запускаю эту программу безВ режиме без головы я могу получить требуемый тег и информацию.

<span class="itd_brand">
<a href="/brand/907/"> <strong class="st itd_all_size">TRUSCO</strong>
</a> </span>
 TRUSCO 

Однако я не могу получить эти теги в режиме без головы.

None
Traceback (most recent call last):
  File "/Users/plugins/webScraper.py", line 82, in <module>
    print(monotaro.GetBrand())
  File "/Users/plugins/webScraper.py", line 59, in GetBrand
    brand = brand.get_text().replace('\n','')
AttributeError: 'NoneType' object has no attribute 'get_text'

Я попытался установить задержкувремя получить эти теги, используя "implicitly_wait", но я не смог получить конкретный тег.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...