【发布时间】:2020-09-12 15:21:17
【问题描述】:
我发现无头 Chrome 似乎无法检测到元素。以下脚本不起作用。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=options)
driver.set_window_size(1024, 600)
driver.maximize_window()
driver.get('https://www.sportsbet.com.au/betting/soccer?LeftNav')
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".link")))
print('hi')
改为非无头。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
driver = webdriver.Chrome()
driver.set_window_size(1024, 600)
driver.maximize_window()
driver.get('https://www.sportsbet.com.au/betting/soccer?LeftNav')
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".link")))
print('test2')
成功了!
我得到了无头:
line 49, in <module>
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".link")))
File "C:\Users\Django\AppData\Local\Continuum\miniconda3\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
更改css:div:nth-child(1) > a > span.team-name.ib
我仍然遇到同样的错误。为什么要这样做?
【问题讨论】:
-
无法打开网址
https://www.sportsbet.com.au/betting/soccer?LeftNav。可以分享一下HTML吗? -
@DebanjanB 尝试使用 vpn 或代理。它可能是您被区域锁定。查看源代码:sportsbet.com.au/betting/soccer?LeftNav
-
这很奇怪。