Selenium CSS 选择器(适用于 Scrapy 但不适用于 Selenium)Python
Selenium CSS selector (Works in Scrapy but not Selenium) Python
我可能已经尝试过所有类型的选择器,但无法将此选择器输出为文本。
Id,css 选择器,xpath,所有 return 都没有结果,但是当在 Scrapy shell 中使用相同的引用时,所需的输出是 returned.
知道为什么 Selenium 选择器不起作用吗?
我正在尝试 return masterBody_trSalesDate
中的文字
発売予定日:7月(2021/4/21予约开始)
try:
hatsubai = driver.find_element_by_id('#masterBody_trSalesDate').text
老实说,我已经尝试了我能想到的所有可能的组合元素和选择器,但没有运气,但是正如提到的 Scrapy shell 确实 return 正确的数据所以我不确定出了什么问题.
有没有什么方法可以在没有 运行 脚本的情况下测试像 scrapy shell 这样的 Selenium 选择器?
谢谢指教
image shows working in scrapy shell
您需要为此使用 css 选择器:
hatsubai = driver.find_element_by_css_selector('#masterBody_trSalesDate').text
print(hatsubai)
输出:
発売予定日 : 7月(2021/4/21予約開始)
当您使用 by_id
或 by_xpath
时,您不需要 char #
hatsubai = driver.find_element_by_id('masterBody_trSalesDate').text
就这些了。
最适合我的工作代码
from selenium import webdriver
url = 'https://www.1999.co.jp/10777687'
#driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver.get(url)
hatsubai = driver.find_element_by_id('masterBody_trSalesDate').text
print(hatsubai)
hatsubai = driver.find_element_by_xpath('//*[@id="masterBody_trSalesDate"]').text
print(hatsubai)
hatsubai = driver.find_element_by_css_selector('#masterBody_trSalesDate').text
print(hatsubai)
顺便说一句:
与 by_class_name
相同 - 它只需要没有点的名称 .
我可能已经尝试过所有类型的选择器,但无法将此选择器输出为文本。 Id,css 选择器,xpath,所有 return 都没有结果,但是当在 Scrapy shell 中使用相同的引用时,所需的输出是 returned.
知道为什么 Selenium 选择器不起作用吗?
我正在尝试 return masterBody_trSalesDate
中的文字発売予定日:7月(2021/4/21予约开始)
try:
hatsubai = driver.find_element_by_id('#masterBody_trSalesDate').text
老实说,我已经尝试了我能想到的所有可能的组合元素和选择器,但没有运气,但是正如提到的 Scrapy shell 确实 return 正确的数据所以我不确定出了什么问题.
有没有什么方法可以在没有 运行 脚本的情况下测试像 scrapy shell 这样的 Selenium 选择器?
谢谢指教
image shows working in scrapy shell
您需要为此使用 css 选择器:
hatsubai = driver.find_element_by_css_selector('#masterBody_trSalesDate').text
print(hatsubai)
输出:
発売予定日 : 7月(2021/4/21予約開始)
当您使用 by_id
或 by_xpath
时,您不需要 char #
hatsubai = driver.find_element_by_id('masterBody_trSalesDate').text
就这些了。
最适合我的工作代码
from selenium import webdriver
url = 'https://www.1999.co.jp/10777687'
#driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver.get(url)
hatsubai = driver.find_element_by_id('masterBody_trSalesDate').text
print(hatsubai)
hatsubai = driver.find_element_by_xpath('//*[@id="masterBody_trSalesDate"]').text
print(hatsubai)
hatsubai = driver.find_element_by_css_selector('#masterBody_trSalesDate').text
print(hatsubai)
顺便说一句:
与 by_class_name
相同 - 它只需要没有点的名称 .