Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我不能使用Selenium打开google.com?_Python_Python 3.x_Selenium_Pycharm_Selenium Chromedriver - Fatal编程技术网

Python 为什么我不能使用Selenium打开google.com?

Python 为什么我不能使用Selenium打开google.com?,python,python-3.x,selenium,pycharm,selenium-chromedriver,Python,Python 3.x,Selenium,Pycharm,Selenium Chromedriver,我正在做的这个项目和我问这个问题时做的项目是一样的: . 同样,这两个问题都与硒有关。 然而,这次我没有收到任何错误,但我想打开的网站没有打开。 我确信我的chrome_目录是正确的。Idk为什么Google.com不开放。 这是我的代码: from selenium import webdriver class Infow(): def __init__(self): self.driver = webdriver.Chrome(executable_path='C:\Progr

我正在做的这个项目和我问这个问题时做的项目是一样的: . 同样,这两个问题都与硒有关。 然而,这次我没有收到任何错误,但我想打开的网站没有打开。 我确信我的chrome_目录是正确的。Idk为什么Google.com不开放。 这是我的代码:

from selenium import webdriver
  class Infow():

def __init__(self):
    self.driver = webdriver.Chrome(executable_path='C:\Program Files (x86)\Chrome Driver@C drive\ChromeDriverExtracted\chromedriver_win32 (2)\chromedriver.exe')
    def get_infow(self, query):
        self.query = query
        self.driver.get(url="https://www.google.com/")
        assist.Infow()
        assist.get_infow("exe")
这是我在终端看到的文本

      "D:\Rocland\Selenium Pycharm\Scripts\python.exe" "D:/PycharmProjects/Selenium 
      Pycharm/Selenium for trevor.py"
      Process finished with exit code 0
如果这个问题毫无意义,我深表歉意。我是硒初学者 而我看到的所有堆栈都不能回答我的问题。 (我不确定这是否有用,但我正在Win10上使用PyCharm) 我希望我能把我的观点说清楚,任何人的帮助都会被欣然接受。
提前谢谢

第二行有缩进问题:
class Infow()

试试这个,然后自己调试

from selenium import webdriver


def __init__(self):
    self.driver = webdriver.Chrome(executable_path='your path')
    self.driver.get(url="https://www.google.com/")
类应如下所示:

class Testing:
    def __init__(self, name=None, number=None):
        self.name = name
        self.number = number

根据您的案例检查示例。我使用Linux,因此我的
可执行路径与您的不同。您的似乎是正确的,因为您没有任何错误:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')
driver.get("https://www.google.com/")
assert "Google" in driver.title
wait = WebDriverWait(driver, 20)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".gLFyf.gsfi")))
input_field = driver.find_element_by_css_selector(".gLFyf.gsfi")
input_field.send_keys("Why are people so mad?")
input_field.send_keys(Keys.RETURN)

wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".yuRUbf")))
results = driver.find_elements_by_css_selector(".yuRUbf>a>h3")
for result in results:
    print(result.text)
driver.close()
driver.quit()
此外,我还使用unittest在中实现了。这将回答您的所有问题:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import unittest


class SiteTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')

    def test(self):
        driver = self.driver
        driver.get('https://google.com/')
        driver.get("https://www.google.com/")
        assert "Google" in driver.title
        wait = WebDriverWait(driver, 20)
        wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".gLFyf.gsfi")))
        input_field = driver.find_element_by_css_selector(".gLFyf.gsfi")
        input_field.send_keys("Why are people so mad?")
        input_field.send_keys(Keys.RETURN)

        wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".yuRUbf")))
        results = driver.find_elements_by_css_selector(".yuRUbf>a>h3")
        for result in results:
            print(result.text)

    def tearDown(self):
        self.driver.close()
        self.driver.quit()


if __name__ == "__main__":
    unittest.main()

我仍然得到同样的输出@vitaliis。我该怎么办?检查这里。简而言之,退出代码0不是错误。您的程序中没有任何输出。另外,请检查我的答案。这应该对你有很大帮助。试着运行这个小程序并对其进行改进。我会尝试放置错误的位置,并检查我身边的错误。检查示例